Feature: Changes CPU counter being used for measurement to % Processor Time
Changes CPU provider to use the `\Processor(*)\% Processor Time` counter instead of `\Processor Information(*)\% Processor Utility`
Fix: FIPS exception caused by MD5 hash usage
Fixes possible FIPS exception on some Windows machines, caused by `MD5` hash algorithm used to verify the service binary file integrity after download instead of `SHA256`
Fix: Plugin error for match and not match with special characters
Fixes plugin execution error while using any `%IfNotMatch`/`%IfNotLike`/`%IfMatch`/`%IfLike` check function for strings containing special characters like `:`
Fix: Various issues on the New-IcingaCheck component
Fixes a bunch of issues present in the `New-IcingaCheck` component, resulting in non-desired output value:
* The new introducted `INFO` state was not properly removed while using `SetOk`, `SetWarning`, `SetCritical` or `SetUnknown` without prior calling of any threshold evaluation for unlocked objects
* Locked objects did not properly output the configured output message, if no threshold validation function was called
* Locked objects did not output any performance data
Fix: Security catalog compilation on non-english Windows versions
Fixes security catalog compilation error on non-english Windows versions, while properly skipping checks on system SID's and improves security by always adding the `SeDenyNetworkLogonRight` and `SeDenyInteractiveLogonRight` privilege section for the JEA user SID
Feature: Adds caching update for added/removed performance counter instances
Adds feature to update the cache for performance counter instances to keep track of system changes.
This will ensure that while we are running as a daemon with Icinga for Windows, newly added or removed information for performance counters will be updated whenever required.
Fix: Icinga Agent installation lookup on missing registry attributes
Fixes registry lookup for Icinga Agent installation to check if the required `DisplayName` attribute is defined before checking
Fix: Never load user PowerShell profiles
To enhance compatibility and reduce the overall impact during certain tasks run by Icinga for Windows, ensure we never load any user PowerShell profiles
Fix: JEA compiler to always force a framework rebuild on update
Fixes JEA compiler to always enforce a rebuild of the Framework to ensure integrity of JEA profiles
Feauture: Adds support to ensure Icinga services are always set to delayed auto start
Adds new Cmdlet `Set-IcingaForWindowsServicesDelayedStart` which will update the Icinga Agent and Icinga for Windows service to run with delayed autostart
Fix: AddSummaryHeader not adding any check information to check package
Fixes plugin compiler not handling `AddSummaryHeader` properly for nested check packages, not adding any check information
```powershell
[WARNING] CPU Load [WARNING] Socket #0 (All must be [OK])
\_ [OK] Overall Load: 8.283808%
\_ [WARNING] Socket #0: 2 Warning 3 Ok [WARNING] Core 0, Core 2 (All must be [OK])
\_ [WARNING] Core 0: Value 18.86168% is greater than threshold 9%
\_ [OK] Core 1: 4.852731%
\_ [WARNING] Core 2: Value 9.340026% is greater than threshold 9%
\_ [OK] Core 3: 0.080795%
\_ [OK] Core Total: 8.283808%
| totalload::ifw_cpu::load=8.283808%;9;;0;100 0_0::ifw_cpu::load=18.86168%;9;;0;100 0_1::ifw_cpu::load=4.852731%;9;;0;100 0_2::ifw_cpu::load=9.340026%;9;;0;100 0_3::ifw_cpu::load=0.080795%;9;;0;100 0_total::ifw_cpu::load=8.283808%;9;;0;100
```
Feature: Adds support to suppress messages for Disable-IcingaUntrustedCertificateValidation
Adds support to suppress messages for Disable-IcingaUntrustedCertificateValidation
Fix: Config compiler to always use Switchparameter for switch argument
Fixes Icinga for Windows config compiler to always use `Switchparameter` for `switch` data types, in case the documentation is not written properly for the plugin
Fix: Icinga for Windows being stuck while fetching service information if other services block CIM requests
Fixes Icinga for Windows being stuck during installation while fetching service information over CIM-Instances, if other services are frozen, blocking the CIM-Request
Fix: Threshold comparison to only apply for ranged values
Fixes Icinga for Windows threshold comparison which wrongly compared warning/critical thresholds for non-range values (like Match)
Fix: Icinga for Windows installer to always force service installation
Fixes Icinga for Windows installer to always force the installation of the service, to ensure it is present
Fix: UNKNOWN on checks using MoT thresholds if they are newly registered
Fixes plugins throwing `UNKNOWN` in case `-TresholdInterval` is used for Metrics over Time, when checks are newly registered and checked, before the first MoT is executed and collected