Questions regarding to updating PowerShell Framework / Plugins (aka Icinga for Windows)

I’m quite confused by Icinga for Windows and PowerShell Plugins installation and update methods.
There were so many changes that I couldn’t even keep up.
Background: We do come from PowerShell Framework 1.5.1 in combination with PowerShell Plugins 1.5.1.

  1. In icinga-powershell-plugins/ at master · Icinga/icinga-powershell-plugins · GitHub you read “Please note that version updates are incremental.”
    What does this mean in detail?
    Do I really have to install all versions one by one beginning with 1.0.0 (don’t hope so)?

  2. When installing PowerShell Plugins 1.9.0 over an existing installation with version 1.5.1 with the below mentioned command some plugins don’t work as expected anymore (e.g. Invoke-IcingaCheckScheduledTask).

When comparing the installation directory under C:\Program Files\WindowsPowerShell\Modules\icinga-powershell-plugins I see different folder structures.

Beginning with 1.9.0 some folders were moved from folder “provider” to the sub-folder “private”.

Used command for updating the plugins (1.5.1 → 1.9.0):
Install-IcingaFrameworkComponent -Name plugins -Url "$dirFiles\"

  1. I’m wondering how others do handle the new approach with repositories in combination with enterprise software distribution solutions e.g. SCCM / MEMCM
    From my point of view the handling with installation files got more complex if you can’t rely on centralized repositories.

Thanks a lot for replies on one or more of the above mentioned questions.


No just install the latest…

restart the powershell session, and try again.
make sure the framework is on version 1.9 too
open a powershell as admin and type use-icinga to create the framework cache
update the commands in icinga2 using conf files, or icinga director using baskets

Thanks to @moreamazingnick for the reply!

In the meantime I’ve spent some more hours fiddling around with the repository functions of PowerShell Framework 1.9.0.

It got a lot clearer now. :grinning:

My current approach for updating PowerShell Plugins is this:

  1. Updating Icinga PowerShell Framework from 1.5.1 to 1.9.2 with a stand alone package (using command Install-IcingaFrameworkUpdate)

  2. Updating PowerShell Plugins with a second package that is depending on the first one.
    We went this way to make sure to have a new shell open with the newly installed Framework 1.9.2 loaded.
    As mentioned we’re distributing the packages by SCCM / MEMCM including the complete workload (i.e. Plugins ZIP files).

To mitigate the randomly changing names of SCCM cache directories we are now doing the following:

  1. Initialize local repository in SCCM cache folder (maybe redundant and/or sledgehammer method :innocent: )
	Remove-IcingaRepository -Name 'Icinga Local Repo'

	New-IcingaRepository -Name 'Icinga Local Repo' -Path "$dirFiles\Icinga2Repo"
	Update-IcingaRepository -Name 'Icinga Local Repo' -Path "$dirFiles\Icinga2Repo"
	Add-IcingaRepository -Name 'Icinga Local Repo' -RemotePath "$dirFiles\Icinga2Repo"
	Update-IcingaRepository -Name 'Icinga Local Repo' -RemotePath "$dirFiles\Icinga2Repo" -Force
  1. Update PowerShell Plugins + MS SQL Plugins
	Update-Icinga -Name 'plugins' -Confirm 'No'
	Update-Icinga -Name 'mssql' -Confirm 'No'

Having understood how the repository functions are working it’ll help us rolling out updates (incl. Agent + Framework) more easily in the future.