Feature: Add Proxy Server support for web calls
Also re-arranges web content by using old content from lib/web into lib/webserver, while new lib/web contains the proxy configuration.
Feature: Add debug output for Get-IcingaWindowsInformation calls to EventLog
Adds support to write all objects collected by `Get-IcingaWindowsInformation` into the Windows EventLog in case the debug output for the Icinga PowerShell Framework is enabled.
Experimental: Adds code caching for faster framework loading
## Current Situation
Currently the entire Framework is taking a huge amount of time to load the files. This causes several issues:
* Slow loading increases the runtime of checks
* High CPU usage for the initial loading of the Framework
* High CPU usage over a longer period of time, cause more impcact on the systems
## Possible solutions
### Add caching
To reduce the impact for the Framework loading, we could add a cache file containing all Cmdlets, Enums and Functions allowing us to import file on initialization instead of having of to search for all `.psm1` files and load them one by one
### Use Nested Modules for PowerShell Plugins
PowerShell plugins right now are using `Use-IcingaPlugins` which searchs for all `.psm1` files inside the plugin folder to load them. We should use `NestedModules` here, as the overall impact is lower. On Framework side we can't do this how ever without loading times to explode. Plugins are tracked [at issue #87 here](https://github.com/Icinga/icinga-powershell-plugins/pull/87)
## Current Status
**Mitigated**
## Usage
You can enable/disable this feature by using `Enable-IcingaFrameworkCodeCache` and `Disable-IcingaFrameworkCodeCache`. Updating the cache is done with `Write-IcingaFrameworkCodeCache`
Fix: Array handling for ValidateSet and array rendering for config generator
Empty arrays will now properly be rendered as empty array with @()instead of $null. In addition the config renderer now also supports ValidateSet for array entries
Empty arrays will now properly be rendered as empty array with @()
instead of $null. In addition the config renderer now also supports
ValidateSet for array entries
Feature: Adds support to add/remove/test Wmi permissions
You can now use 'Add-IcingaWmiPermissions' to add permissions for a specific user and namespace and remove them with
'Remove-IcingaWmiPermissions'
Fix: SSL creation on reconfigure might fail if naming changed from upper/lower case
Fixes an issue while changing the hostname between upper/lower case which might cause unwanted exceptions on one hand but also required manual signing of requests on the CA master as the signing process was not completed
Bugfix: Handle multiple network interfaces on discovery and add support for Windows 2008 R2
* Fixes issue on hosts with mulitple interfaces that provide virtual interfaces, causing problems on Director Self-Service creation
* Adds support for Windows 2008 R2
* Fixes issue on hosts with mulitple interfaces that provide virtual
interfaces, causing problems on Director Self-Service creation
* Adds support for Windows 2008 R2
Tests if a specific WMI class including the Namespace can be accessed
and returns status codes for possible errors/exceptions taht might
occure. Returns binary operator values for easier comparison. In case
no errors occured it will return $TestIcingaWindowsInfoEnums.TestIcingaWindowsInfo.Ok
Because the script analyzer often complains that we can always use the
function open brace on the same line as the function name, which is not
the case, I finally decided to correct this today. I set the attribute
OnSameLine to False and disabled the check for space before open Brace.
Feature: Add generic Cmdlet to convert Icinga Thresholds
Adds Cmdlet `Convert-IcingaPluginThresholds` as generic approach to convert Icinga Thresholds with units to the lowest unit of this type.
Fix: Version fetching for not loaded modules is impossible
Fixes version fetching for not loaded modules during upgrades/plugin calls with `Get-IcingaPowerShellModuleVersion`
Bugfix: Fixing value overflow on Convert-Bytes Cmdlet
Fixes an issue while converting data size values from any other datatype to bytes which will cause an overflow and might result in issues during comparison.
Bugfix: Fix crash on background service execution caused by missing Perf Data cache
Fix crash while running services as background task to collect metrics over time by missing Performance Counter cache initialisation.
Fixes uncatched invisible output on Start-IcingaTimer
Fixes unhandled output from loading `System.Reflection.Assembly` which can cause weird side effects for plugin outputs
Fixes MSSQL error handling on Integrated Security
Fixes wrong error message on failed MSSQL connection due to database not reachable by using `-IntegratedSecurity`