From d983f6f76791d341920ffb95e843d8ce42fe0a89 Mon Sep 17 00:00:00 2001 From: Lord Hepipud Date: Fri, 22 May 2020 12:19:03 +0200 Subject: [PATCH] Adds support to fully uninstall the Icinga 2 agent including ProgramData Fixes #67 --- .../installer/Uninstall-IcingaAgent.psm1 | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/core/icingaagent/installer/Uninstall-IcingaAgent.psm1 b/lib/core/icingaagent/installer/Uninstall-IcingaAgent.psm1 index 4fc8088..740e339 100644 --- a/lib/core/icingaagent/installer/Uninstall-IcingaAgent.psm1 +++ b/lib/core/icingaagent/installer/Uninstall-IcingaAgent.psm1 @@ -1,5 +1,9 @@ function Uninstall-IcingaAgent() { + param ( + [switch]$RemoveDataFolder = $FALSE + ); + $IcingaData = Get-IcingaAgentInstallation; if ($IcingaData.Installed -eq $FALSE) { @@ -17,7 +21,15 @@ function Uninstall-IcingaAgent() Write-IcingaConsoleError ([string]::Format('Failed to remove Icinga 2 Agent: {0}{1}', $Uninstaller.Message, $Uninstaller.Error)); return $FALSE; } - + + if ($RemoveDataFolder) { + [string]$IcingaProgramData = Join-Path -Path $Env:ProgramData -ChildPath 'icinga2'; + Write-IcingaConsoleNotice -Message 'Removing Icinga 2 directoy from ProgramData: "{0}"' -Objects $IcingaProgramData; + if ((Remove-ItemSecure -Path $IcingaProgramData -Recurse -Force) -eq $FALSE) { + return $FALSE; + } + } + Write-IcingaConsoleNotice 'Icinga Agent was successfully removed'; return $TRUE; }