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.
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\icinga-powershell-plugins-1.9.0.zip"
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.
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
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.
My current approach for updating PowerShell Plugins is this:
Updating Icinga PowerShell Framework from 1.5.1 to 1.9.2 with a stand alone package (using command Install-IcingaFrameworkUpdate)
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:
Initialize local repository in SCCM cache folder (maybe redundant and/or sledgehammer method )
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