lib/core/windows/Uninstall-IcingaServiceUser.psm1
function Uninstall-IcingaServiceUser() { param ( $IcingaUser = 'icinga' ); if ([string]::IsNullOrEmpty($IcingaUser)) { Write-IcingaConsoleError 'The provided user cannot be empty.'; return; } Write-IcingaConsoleNotice 'Uninstalling user "{0}"' -Objects $IcingaUser; Stop-IcingaService 'icinga2'; Stop-IcingaWindowsService; Set-IcingaPowerShellConfig -Path 'Framework.Icinga.ServiceUser' -Value ''; Set-IcingaServiceUser -User 'NT Authority\NetworkService' -Service 'icinga2' | Out-Null; Set-IcingaServiceUser -User 'NT Authority\NetworkService' -Service 'icingapowershell' | Out-Null; Set-IcingaUserPermissions -IcingaUser $IcingaUser -Remove; $UserConfig = Remove-IcingaWindowsUser -IcingaUser $IcingaUser; Update-IcingaWindowsUserPermission -SID $UserConfig.SID -Remove; Restart-IcingaService 'icinga2'; Restart-IcingaWindowsService; Write-IcingaConsoleNotice 'User "{0}" including permissions was removed from this host' -Objects $IcingaUser; } |