Icinga PowerShell Plugins

A collection of Windows check plugins for the Icinga PowerShell Framework

Release Icinga PowerShell Plugins v1.5.1

1.5.1 (2021-07-07)

Issue and PRs


  • #196 Fixes unhandled PermissionDenied exceptions for Invoke-IcingaCheckDirectory, in case required permissions for files and folders were not set
  • #202 Fixes \ and / which are now removed again for -Include and -Exclude arrays on Invoke-IcingaCheckUsedPartitionSpace.


Release tarball
application/gzip 2021-07-07 Download from Github

Release Icinga PowerShell Plugins v1.5.0

1.5.0 (2021-06-02)

Issue and PRs

Upgrading Steps

Reworked plugins and removed arguments

Please note that in general plugins should no longer ship % values performance data and only the actually values including thresholds and min/max input. With the new Icinga for Windows Framework, you can use your graphing solution to properly calculate % values there on your own for display context. Monitoring is for most plugins possible, by simply adding a % sign behind your threshold.

In case the plugin does not support this input for this specify argument, you will receive a UNKNOWN output.


The following arguments have been removed from the plugin and are no longer usable:

  • IncomingAvgBandUsageWarn
  • IncomingAvgBandUsageCrit
  • OutboundAvgBandUsageWarn
  • OutboundAvgBandUsageCrit

These arguments were a % value based on the link speed and the current traffic of the interface. With the new argument handling for % values with Icinga for Windows v1.5.0, you can achieve the same result with the following, already present arguments:

  • DeviceTotalBytesSecWarn
  • DeviceTotalBytesSecCrit
  • DeviceSentBytesSecWarn
  • DeviceSentBytesSecCrit
  • DeviceReceivedBytesSecWarn
  • DeviceReceivedBytesSecCrit

We entirely reworked the plugin and added the same % value shipping with Icinga for Windows v1.5.0, which means we removed the following arguments:

  • PercentWarning
  • PercentCritical

In addition we added page file monitoring capabilities to the plugin with additional arguments


As for both previous plugins, we reworked used partition space with changes for % values with Icinga for Windows 1.5.0 and fixed minor issues from the ground up.


We fixed a spelling issue on the command itself, which was Invoke-IcingaCheckPerfcounter before and now properly displays Invoke-IcingaCheckPerfCounter. For that reason your current plugin configuration will change. To resolve this beforehand, rename the custom variable within your Icinga Director to match the new uppercase C for Counter, before importing new configuration baskets.

Features and Updates

New Plugins


#163 Checks the response time, the return code and content of HTTP requests.


#172 Checks the number of paths for each MPIO driver on your system.

Reworked Plugins

Please have a look on the upgrading docs for these plugins

  • Invoke-IcingaCheckNetworkInterface
  • Invoke-IcingaCheckMemory
  • Invoke-IcingaCheckUsedPartitionSpace


  • #14 Rework of Invoke-IcingaCheckMemory to use new features from 1.5.0 for % handling and added page file check content including arguments. Please have a look on the upgrading docs
  • #71 Rework Invoke-IcingaCheckUsedPartitionSpace to properly use Framework v1.5.0 functionality and resolve upper/lower case drive filtering
  • #156 Adds feature to modify the output status of Invoke-IcingaCheckCertificate from UNKNOWN to OK in case no certificate was found by setting the new argument -IgnoreEmpty
  • #159 Replaces the deprecated function Get-EventLog with Get-WinEvent. In addition, the plugin received a new argument -MaxEntries to allow additional filtering for the number of events fetched to improve performance in addition. The EventLog now also supports an array with list items, allowing easier filtering for severities which are allowed inside the EventLog.
  • #167 Upgrades plugin configuration files to Framework version 1.5.0. Please have a look on the upgrading docs
  • #181 Improves the handling for the Network Interface plugin and moves the Get-IcingaNetworkInterfaceUnits from the plugin repository into the Framework


  • #144 Fixes filtering for Invoke-IcingaCheckEventLog which resulted in wrong results, depending on the plugin configuration
  • #147 Fixes wrong comparison for file size on Get-IcingaDirectorySizeSmallerThan, used by Invoke-IcingaCheckDirectory
  • #148 Fixes exception on Invoke-CheckNetworkInterface while two team interfaces with the identical name are present on the system
  • #154 Fixes Invoke-IcingaCheckDirectory by setting -FileNames argument to * as default for allowing to fetch all files for a given directory by default
  • #160 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.
  • #161 Fixes a copy & paste error on Invoke-IcingaCheckUsedPartitionSpace, as a wrong check variable was used for forcing Unknown results
  • #171 Fixes wrong OK states for Invoke-IcingaCheckPerfCounter, in case counters for categories with instances were not present
  • #176 Fixes offset calculation for Invoke-IcingaCheckTimeSync, to allow negative offset as well
  • #178 Fixes exception handling for Invoke-IcingaCheckNLA to properly handle errors while checking for connection profiles
  • #185 Fixes Network interface percent for teams not working
  • #186 Fixes possible exception on Icinga for Windows installation, if plugins were removed, no new shell session was created and therefor plugins are not able to load


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

Release Icinga PowerShell Plugins v1.4.0

1.4.0 (2021-03-02)

Issue and PRs

Breaking changes

If you are going to install this plugin release, please have a look on the upgrading docs before!


  • #134 Adds autoloading for plugin information to standardize the development and projects and fixes plenty of spelling/code styling errors
  • #135 Adds new check plugin Invoke-IcingaCheckTCP
  • #137 Adds new configuration for Icinga for Windows v1.4.0 to make future configuration changes unnecessary. Please read the upgrading docs before upgrading!
  • #139 Adds check note for the last boot time for Invoke-IcingaCheckUptime which is being displayed by using -Verbosity 2 on the check configuration
  • #140 Adds new plugin Invoke-IcingaCheckUNCPath to test for network share paths or other volumes to fetch the size and free space from them
  • #141 Update Icinga Director and Icinga 2 conf files with new DSL parser for array elements to properly escape string values with single quotes. Please read the upgrading docs


  • #136 Improves Invoke-IcingaCheckEventLog time filter by allowing simple input like -After 5h and fixes issue on filtering by formatting the time data into required format yyyy/MM/dd HH:mm:ss


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