Icinga PowerShell Plugins

A collection of Windows check plugins for the Icinga PowerShell Framework

Release Icinga PowerShell Plugins v1.3.1

1.3.1 (2021-02-04)

Issue and PRs


  • #123 Fixes wrong documented user group for accessing Performance Counter objects which should be Performance Monitor Users
  • #124 Fixes crash on Invoke-IcingaCheckService if an automatic service is not running
  • #126 Fixes code base for Invoke-IcingaCheckService by preferring to fetch the startup type of services by using WMI instead of Get-Services, as the result of Get-Services might be empty in some cases
  • #128 Fixes invalid Icinga 2 configuration files due to special characters, invalid attributes and wrong boolean values


Release tarball
application/gzip 2021-02-03 Download from Github

Release Icinga PowerShell Plugins v1.3.0

1.3.0 (2020-12-01)

Issue and PRs

Upgrading to v1.3.0 (2020-12-01)

Plugin Argument Changes (Breaking Changes)

The following plugins received modifications to their existing arguments. Please keep in mind that updating to this version of the Icinga PowerShell Plugins, you must update your configuration to ensure everything is running properly and update all plugins on all systems. As for the Icinga Director, you have to import the new basket for these plugins to apply the configuration. How ever, current values assigned to these arguments will no longer apply and have to be reconfigured!


The State argument for Invoke-IcingaCheckScheduledTask has been changed from String to Array, which will now support providing multiple states a task can be into. In addition we modified the Icinga PowerShell Framework to properly support ValidateSet for array arguments, fixed in #152. Please ensure to upgrade to v1.3.0 before generating the new configuration and importing it, as the fix ensures that array arguments still can only contain fixed values.

New Plugins

This release adds the following new plugin:

Breaking changes

If you are going to install this plugin release, please have a look on the upgrading docs to not run into issues!


  • #61 Adds exception handling in case permissions to access Windows Updates are missing on the system
  • #73 Improves plugin creation Cmdlet to write a new permission section and to create the plugins doc folder in case it does not exist
  • #74 Adds avg. disk queue length metric for monitoring and performance data to Invoke-IcingaCheckDiskHealth
  • #78 Improves the documentation and output for Invoke-IcingaCheckService by adding metrics for all found services configured to run Automatic and adds service output on Verbosity 1 to show a list of all found services including their current state
  • #85 Adds support on Invoke-IcingaCheckUsedPartitionSpace to ignore a Unknown in case all checks are filtered out. This will then return Ok instead if argument -IgnoreEmptyChecks is set. In addition you can now use -SkipUnknown which will transform an Unknown of partitions without data to Ok. Reworks #84
  • #90 Adds support to ignore read only/offline disks on Invoke-IcingaCheckDiskHealth
  • #101 Improves Invoke-IcingaCheckScheduledTask by changing the State argument from String to Array, allowing the comparison against multiple states. Important: Please have a look on the upgrading docs!
  • #104 Adds plugin configuration files for Icinga Director and Icinga 2 within the config directory
  • #109 Adds exception handling in case -Path argument is not set or not directing a file (including invalid path)


  • #75 Fixes unhandled arguments FileSizeGreaterThan and FileSizeSmallerThan for Invoke-IcingaCheckDirectory
  • #77 Fix wrong filtering for EventIds for Invoke-IcingaCheckEventLog and improve the output by adding the EventLog messages on severity 1. In addition we now allow the filtering for message sources and increase performance by fetching EventLog data for new checks from the last 2 hours only
  • #79 Fixes service check to exclude provided service names in case they contain the wildcard symbol '*' which causes the check to always return unknown
  • #86 Fixes Get-IcingaCPUCount returns wrong count on empty arguments
  • #97, #98 Fixes invalid performance data output for Invoke-IcingaCheckScheduledTask
  • #102, #103 Fixes Invoke-IcingaCheckNetworkInterface plugins arguments being too long for Icinga Director
  • #110 Fixes Invoke-IcingaCheckEventLog plugin throwing an unknown for valid arguments


Release tarball
application/gzip 2020-11-30 Download from Github

Release Icinga PowerShell Plugins v1.2.0

1.2.0 (2020-08-28)

Issue and PRs

New Plugins

This release adds the following new plugins:


  • #34 Replaces plugin CIM/WMI calls for new Framework wrapper function Get-IcingaWindowsInformation to properly handle config/permission errors


  • #32 Improves plugin doc generate to update existing .md files and create new ones only if required
  • #28 Adds unknown state for each included service during a service check which was not found on the host
  • #33 Adds support to generate plugin docs for different plugin module repos
  • #38 Adds new plugin Invoke-IcingaCheckDiskHealth
  • #39 Fixes Performance Counters check plugin to throw error in case Performance Counter do not exist or a simply not present
  • #42 Improves performance of Invoke-IcingaCheckCPU for multi socket systems and optimises the code
  • #44 Adds check for Performance Counter categories 'Memory' and 'Processor' if they are present on a system, throwing an 'Unknown' if not


  • #30 Fixes $null input value for certificate check, causing the Director import to fail
  • #36 Fixes Ok return value for Invoke-IcingaCheckDirectory while -Path argument is not set
  • #37 Fixes -FileNames argument being ignored for Invoke-IcingaCheckDirectory while not using the -Recurse argument
  • #40 Fixes Get-TimeZone Cmdlet not known for Invoke-IcingaCheckTimeSync on Windows 2012 R2 and older
  • #50, #51 Fixes possible crash/artifacts on plugin output for EventLog check while filters do not match any entry


Release tarball
application/gzip 2020-08-28 Download from Github