diff --git a/lib/core/icingaagent/misc/Reset-IcingaAgentConfigFile.psm1 b/lib/core/icingaagent/misc/Reset-IcingaAgentConfigFile.psm1 new file mode 100644 index 0000000..a51a005 --- /dev/null +++ b/lib/core/icingaagent/misc/Reset-IcingaAgentConfigFile.psm1 @@ -0,0 +1,30 @@ +<# +.SYNOPSIS + Checks for old configurations provided by the old PowerShell module + and restores the original configuration file +.DESCRIPTION + Restores the original Icinga 2 configuration by replacing the existing + configuration created by the old PowerShell module with the plain one + from the Icinga 2 backup file +.FUNCTIONALITY + Restores original Icinga 2 configuration icinga2.conf +.EXAMPLE + PS>Reset-IcingaAgentConfigFile; +.LINK + https://github.com/Icinga/icinga-powershell-framework +#> + +function Reset-IcingaAgentConfigFile() +{ + $ConfigDir = Get-IcingaAgentConfigDirectory; + $OldConfig = Join-Path -Path $ConfigDir -ChildPath 'icinga2.conf'; + $OldConfigBackup = Join-Path -Path $ConfigDir -ChildPath 'icinga2.conf.old.module'; + $OriginalConfig = Join-Path -Path $ConfigDir -ChildPath 'icinga2.confdirector.bak'; + + if ((Test-Path $OriginalConfig)) { + Write-Host 'Found icinga2.conf backup file created by old PowerShell module. Restoring original configuration'; + + Move-Item -Path $OldConfig -Destination $OldConfigBackup; + Move-Item -Path $OriginalConfig -Destination $OldConfig; + } +} diff --git a/lib/core/icingaagent/misc/Start-IcingaAgentInstallWizard.psm1 b/lib/core/icingaagent/misc/Start-IcingaAgentInstallWizard.psm1 index 1984232..27cf33f 100644 --- a/lib/core/icingaagent/misc/Start-IcingaAgentInstallWizard.psm1 +++ b/lib/core/icingaagent/misc/Start-IcingaAgentInstallWizard.psm1 @@ -474,6 +474,7 @@ function Start-IcingaAgentInstallWizard() if ($RunInstaller) { if ((Install-IcingaAgent -Version $AgentVersion -Source $PackageSource -AllowUpdates $AllowVersionChanges) -Or $Reconfigure) { + Reset-IcingaAgentConfigFile; Move-IcingaAgentDefaultConfig; Set-IcingaAgentNodeName -Hostname $Hostname; Set-IcingaAgentServiceUser -User $ServiceUser -Password $ServicePass -SetPermission | Out-Null;