Feature: Adds exit to Windows Terminal integration to close shell on exit
Adds exit after calling icinga on Windows Terminal integration to ensure the shell will close in case the Icinga shell is closed.
Feature: Adds error on config generator for 64 digit args
Adds feature to test the length of plugin custom variables during config generation and throws error in case the total length is bigger than 64 digits, as imports into the Icinga Director by using baskets is not possible otherwise
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`