If you tried this
Use-Icinga; Get-IcingaSSLCertForSocket -CertFile "C:/my/cert.pfx"
the former code expanded like
$FileType = Get-Item -Path "C:/my/cert.pfx";
if ("cert.pfx" -eq '.pfx') { ... not reached ... }
and thus did not load the certificate file.
Now use GetExtension instead of Get-Item to make the .pfx check work.
Fix: Adds missing attributes for services
While filtering for certain services with `Get-IcingaServices`, there were some attributes missing from the collection. These are now added resulting in always correct output data.
Feature: Hide SecureString CustomFields input in Icinga Director
Adds feature to mask CustomField input values with `*` within the Icinga Director, in case the argument is defined as `SecureString`. Please ensure to read the [upgrading docs](https://icinga.com/docs/icinga-for-windows/latest/doc/30-upgrading-framework/) carefully, before importing new configurations.
Fixes#229
Adds Cmdlet for analysing EventLog content
Adds new Cmdlet `Show-IcingaEventLogAnalysis` to get a better overview on how many log entries are present within the EventLog based on hour, minute and day average/maximum for allowing a more dynamic configuration for `Invoke-IcingaCheckEventLog`
Fix wrong plugin not installed unknown checkresult
Unknown checks for the plugin handler were called to soon, as the minimal configuration does not load old check commands for the plugins.
In addition API checks did not throw an unknown and were not catched properly
Feature: Adds experimental Feature "Management Console"
Adds new experimental feature `Management Console` for better and easier management for Icinga for Windows and improved automation and deployed.
In addition following changes were made:
* Added support to fetch network interface for `Register-IcingaDirectorSelfServiceHost` directly from provided director url
* Added support for Icinga Framework Code Cache file being deleted once the feature is disabled
* Added support to suppress any console output for the current PowerShell session by using `Disable-IcingaFrameworkConsoleOutput` and to enable it again by using `Enable-IcingaFrameworkConsoleOutput`
* Added support for `-Release` argument for `Get-IcingaFrameworkServiceBinary` suppressing questions and using GitHub as source directly if set
* Added support to color console output by using `Write-IcingaConsolePlain` with the new argument `-ForeColor`
* Added new feature to write Icinga for Windows console headers more easily, better structured and formatted with `Write-IcingaConsoleHeader` by adding line content as array elements
* Fixed possible crash on `Get-IcingaAgentFeatures` if PowerShell is not running as administrator and therefor the command `icinga2 feature list` can not be processed
* Fixed `ConvertTo-IcingaSecureString` to return `$null` for empty strings instead of throwing an exception
Adds Api checks docs; Removes cmdlets
Adds documentation for new experimental feature to forward checks to API and removes Cmdlets for managing whitelist/blacklist entries as we add them inside the REST-Api module.
Feature: Adds support to uninstall Icinga for Windows
Adds feature to uninstall single components for Icinga for Windows or to uninstall everything and start entirely from new.
Feature: Adds experimental feature for internal API checks
Adds experimental feature to forward checks executed by the Icinga Agent to an internal REST-Api, to reduce the performance impact on systems with lower ressources available
Fixes DSL for building array elements escaped
Updates the Icinga DSL for building PowerShell arrays to ensure all string values are properly escaped with `'`. In case the user already wrapped commands with `'` by himself, this will not have an effect as we only add single quotes for escaping if they are not present already.
Fix: Plugin threshold conversion and adds % unit handling
Fixes `Convert-IcingaPluginThresholds` which sometimes did not return proper numeric usable values for our internal functions, causing issues on plugin calls. In addition the function now also supports the handling for % units.
Adds feature to customize label for checks
Adds new Argument `-LabelName` to `New-IcingaCheck`, allowing the developer to provide custom label names for checks and override the default based on the check name.
Fix: Background service check daemon data pool separation and memory leak
Improves the background daemon by separating each single configured check into an own data pool, preventing data of leaking from one thread to another which might cause a memory leak in long term with plenty of background checks defined.
This might also reduce CPU impact because lesser data has to be processed.
Feature: Ensure config.json is opened as read-only
In some cases it can happen that multiple processes access our config file. By default `Get-Content` is not thread save and might result in errors while reading the file content.
In general we should use a read-only attempt for the config.json and write it only if required.
Feature: Ensure thread results are separated from each other by default
In case multitple background daemons are running and executing check plugins, it can happen that results overlap from one thread to another. A CPU check might then include information from another service check for example.
We fix this by locking each check result data into an own thread, preventing other threads from accessing the data.
Adds code caching docs and removes experimental
Removes experimental state of the Icinga PowerShell Framework code caching and adds docs on how to use the feature