From 7faa516c150fb97a8d9a739dd76afcd2b3026bbd Mon Sep 17 00:00:00 2001 From: Lord Hepipud Date: Tue, 25 Jan 2022 12:15:11 +0100 Subject: [PATCH] Fixes exception on loading by missing environment --- doc/100-General/10-Changelog.md | 1 + icinga-powershell-framework.psm1 | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/100-General/10-Changelog.md b/doc/100-General/10-Changelog.md index 60e4eb0..3d382c4 100644 --- a/doc/100-General/10-Changelog.md +++ b/doc/100-General/10-Changelog.md @@ -28,6 +28,7 @@ Released closed milestones can be found on [GitHub](https://github.com/Icinga/ic * [#421](https://github.com/Icinga/icinga-powershell-framework/issues/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](https://github.com/Icinga/icinga-powershell-framework/pull/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](https://github.com/Icinga/icinga-powershell-framework/pull/439) Moves PerformanceCounter to private space from previous public, which caused some problems +* [#441](https://github.com/Icinga/icinga-powershell-framework/pull/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 ### Enhancements diff --git a/icinga-powershell-framework.psm1 b/icinga-powershell-framework.psm1 index 676c504..c62e275 100644 --- a/icinga-powershell-framework.psm1 +++ b/icinga-powershell-framework.psm1 @@ -31,7 +31,6 @@ function Use-Icinga() } Disable-IcingaProgressPreference; - New-IcingaEnvironmentVariable; if ($Minimal) { $Global:Icinga.Protected.Minimal = $TRUE; @@ -284,5 +283,11 @@ function Start-IcingaShellAsUser() ); } +# Always ensure our environment variables are set to reduce possibles errors +# in case we call functions accessing them +if (Get-Command -Name 'New-IcingaEnvironmentVariable' -ErrorAction SilentlyContinue) { + New-IcingaEnvironmentVariable; +} + Set-Alias icinga Invoke-IcingaCommand -Description "Execute Icinga Framework commands in a new PowerShell instance for testing or quick access to data"; Export-ModuleMember -Alias * -Function * -Variable *;