Icinga PowerShell Framework

This PowerShell module will allow to fetch data from Windows hosts and use them for inventory and monitoring solutions. Together with the Icinga Web 2 module, a detailed overview of your Windows infrastructure will be drawn.

Release Icinga for Windows v1.8.0 latest

1.8.0 (2022-02-08)

Issue and PRs


  • #273 Fixes exceptions and freezes while using Icinga for Windows within an PowerShell ISE session and informing the user properly about the limitations
  • #291 Fixes Split-IcingaVersion by returning data with naming mayor for the version instead of major. We will return both results to give developers time to adjust their code before removing the mayor object
  • #379 Fixes memory leak for Icinga for Windows by using a custom function being more aggressive on memory cleanup
  • #380 Fixes exception while using Use-Icinga inside the same shell Icinga for Windows is installed for the first time on the system
  • #394 Fixes lookup time for Icinga managed user for large Active Directory environments by limiting lookup to local system only
  • #402 Fixes missing address attribute for REST-Api daemon, making it unable to change the listening address
  • #403 Fixes memory leak on newly EventLog reader for CLI event stream
  • #407 Removes unnecessary module import inside Invoke-IcingaNamespaceCmdlets
  • #409 Fixes URL builder for Sync-IcingaRepository which will now properly test the JSON file and try a secondary fallback by pointing to the ifw.repo.json in case a URL is returning the directory listing instead
  • #412 Fixes possible defective state of the Icinga Agent by using a custom service user for JEA profiles which is larger than 20 digits
  • #414 Fixes Service Check Daemon with a total rewrite to improve performance, decrease required resources and fix memory leaks
  • #418 Fixes crash on wrong variable usage introduced by #411
  • #421 Fixes experimental state of API Check feature by removing that term and removing the requirement to install icinga-powershell-restapi and icinga-powershell-apichecks
  • #436 Fixes a lookup error for existing plugin documentation files, which caused files not being generated properly in case a similar name was already present on the system
  • #439 Moves PerformanceCounter to private space from previous public, which caused some problems
  • #441 Fixes an exception while loading the Framework, caused by a race condition for missing environment variables which are accessed by some plugins before the Framework is loaded properly
  • #443 Fixes Get-IcingaServices which returned Unknown for service StartType, in case the -Service argument contained values with wildcard *
  • #446 Fixes Icinga for Windows progress preference, which sometimes caused UI glitches
  • #449 Fixes unhandled exception while importing modules during Install-IcingaComponent process, because of possible missing dependencies
  • #451 Fixes PowerShell being unable to enter JEA context if only the Framework is installed and removes the | from plugin output, in case a JEA error is thrown that check commands are not present
  • #452 Fixes unhandled true output on the console while running the installer
  • #454 Fixes JEA catalog compiler and background daemon execution in JEA context
  • #456 Fixes JEA service error count not resetting itself after a certain amount of time without errors
  • #458 Fixes Install-IcingaSecurity which should only run in an administrative shell
  • #459 Fixes Update-Icinga which was not working to downgrade snapshot packages pack to release (NOTE: It can still happen that migrations of the Framework might break your environment. Not recommended in production environments for the Framework component)
  • #460 Fixes Icinga Agent installation over IMC and Director Self-Service, in case the Self-Service is configured to not install the Icinga Agent or the user manually set Do not install Icinga Agent inside the IMC, which results in most configurations not being applied to the Agent, in case it is already installed
  • #461 Fixes Add-IcingaRepository which now only overrides the RemotePath by using -Force instead of removing and adding the repository again, causing problems with installation orders over IMC for example
  • #464 Fixes Icinga for Windows uninstaller which did not remove the service binary for the PowerShell service


  • #388 Improves performance for testing if Add-Type functions have been added, by adding an internal test for newly introduced environment variables within a PowerShell session
  • #417 Adds support to allow the force creation of Icinga Agent certificates, even when they are already present on the system over Icinga Management Console installation
  • #427 Moves Icinga for Windows EventLog from Application to a custom log Icinga for Windows, allowing better separation
  • #438 Adds support for enabling the REST-Api background daemon and the Api-Check feature during the IMC installation wizard on advanced settings, which will be enabled by default
  • #440 Adds upgrade notification if Icinga for Windows Service binary older than v1.2.0 is used, which will not work with Icinga for Windows v1.8.0 or later
  • #445 Adds command Repair-IcingaService to repair Icinga Agent service in case it was broken during upgrades, mostly caused by The specified service has been marked for deletion
  • #448 Adds support to sort arrays without ScriptBlocks
  • #450 Improves show command Show-IcingaRegisteredServiceChecks, adds new command Show-IcingaRegisteredBackgroundDaemons and extends Show-Icinga by both commands and adds debug and api forwarder features to environment list
  • #453 Reworks Icinga Management Console menu structure and naming and changes the default behavior of executing icinga to now open the IMC by default and icinga -Shell to open a shell as done previously
  • #455 Adds support for remote execution plugin check_by_icingaforwindows


Release tarball
application/gzip 2022-02-07 Download from Github

Release Icinga for Windows v1.7.1

1.7.1 (2021-11-11)

Issue and PRs


  • #398 Fixes String.Builder object output, while creating new components by using New-IcingaForWindowsComponent
  • #399 Fixes repository file hash generator, which now only includes .zip and .msi files, which otherwise turned into invalid hashes because of the repository index file always changing based on the assigned hash
  • #401 Fixes the repository manager by now using Icinga WebRequests instead of Windows WebRequests, allowing the usage of the internal proxy feature

Fixing Repository Sync-Issues:

Before you can upgrade to v1.7.0 or v1.7.1 and you are using the repository sync and repositories, you will have to sync the repository by using the -ForceTrust argument first, as otherwise the older versions will fail on the same step by validating the hashes. If you want to stay secure and do not wish to force the trust of the repository, you can manually apply the patch for the Icinga for Windows environment you want to run the sync from. Once applied, simply run the following command

icinga -RebuildCache;

and start the sync process from this new shell.


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

Release Icinga for Windows v1.7.0

1.7.0 (2021-11-09)

Issue and PRs


  • #375 Fixes exception on last message printed during Uninstall-IcingaForWindows, because the prior used function is no longer present at this point
  • #376 Fixes IMC error handling on invalid JSON for installation command/file
  • #377 Fixes overhead for testing of modules being loaded, which returned invalid path values and wrong exceptions, which was unnecessary in first place
  • #381 Fixes Repository Hash generator for new repositories, which always returned the same hash regardless of the files inside
  • #386 Fixes check command config generator for Icinga Director baskets/Icinga 2 conf files, in case we are using a check command with an alias as reference to a new name of a check command
  • #387 Fixes config generator to use alias names for command arguments/parameters in case available instead of the real name
  • #390 Fixes threshold interval time conversion by using -ThresholdInterval with values that cause the used TimeSpan object to move from minutes to hours, like 60m and 1h
  • #395 Fixes -ThresholdInterval data type inside auto generated docs for plugins, which was of type Object, but should be of type String


  • #383 Moves the components REST-Api icinga-powershell-restapi and API-Checks icinga-powershell-apichecks directly into the Framework
  • #389 Adds developer tools for easier start and management of development custom extensions for Icinga for Windows
  • #392 Adds support to read logs from Windows EventLog while using Read-IcingaAgentLogFile
  • #393 Adds generic reader function Read-IcingaWindowsEventLog, allowing to read any EventLog as stream on the console and adds in addition Read-IcingaForWindowsLog for reading Icinga for Windows specific logs
  • #396 Adds function Publish-IcingaPluginDocumentation from plugins directly into the Framework


Release tarball
application/gzip 2021-11-08 Download from Github
Newer Older