## Remove N-Central Patch Management Service Controller If ( Test-Path "${Env:ProgramFiles(x86)}\MspPlatform\PME\unins000.exe" ) { Write-Output "Uninstalling N-Central Patch Management Service Controller" Try { Start-Process "${Env:ProgramFiles(x86)}\MspPlatform\PME\unins000.exe" -ArgumentList "/SILENT" -Wait } Catch { Write-Error $_.Exception.Message } } ## Remove N-Central File Cache Service Agent If ( Test-Path "${Env:ProgramFiles(x86)}\MspPlatform\FileCacheServiceAgent\unins000.exe" ) { Write-Output "Uninstalling N-Central File Cache Service Agent" Try { Start-Process "${Env:ProgramFiles(x86)}\MspPlatform\FileCacheServiceAgent\unins000.exe" -ArgumentList "/SILENT" -Wait } Catch { Write-Error $_.Exception.Message } } ## Remove N-Central Request Handler Agent If ( Test-Path "${Env:ProgramFiles(x86)}\MspPlatform\RequestHandlerAgent\unins000.exe" ) { Write-Output "Uninstalling N-Central Request Handler Agent" Try { Start-Process "${Env:ProgramFiles(x86)}\MspPlatform\RequestHandlerAgent\unins000.exe" -ArgumentList "/SILENT" -Wait } Catch { Write-Error $_.Exception.Message } } ## Remove Windows Software Probe If ( Test-Path "${ProgramFiles(x86)}\N-able Technologies\Windows Software Probe\" ) { $ProductCode = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\N-able Technologies\Windows Software Probe").ProductCode Write-Output "Uninstalling Windows Software Probe" Try { Start-Process "msiexec.exe" -ArgumentList "/X {${ProductCode}} /qn" -Wait } Catch { Write-Error $_.Exception.Message } } ## Remove Windows Agent If ( Test-Path "${ProgramFiles(x86)}\N-able Technologies\Windows Agent\" ) { Write-Output "Uninstalling N-Central Windows Agent" Try { Start-Process "msiexec.exe" -ArgumentList "/X{F5873D07-85EE-4010-A461-B60989884B1C} /qn" -Wait } Catch { Write-Error $_.Exception.Message } } ## Remove NablePatchRepositoryService $ServiceName = "NablePatchRepositoryService" $Service = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue If ( $Service.Length -gt 0 ) { Control-Service -Stop -Name $ServiceName Write-Output "Deleting the service: ""${ServiceName}""" Try { Start-Process "sc" -ArgumentList "delete ${ServiceName}" -Wait } Catch { Write-Error $_.Exception.Message } } ## Remove Windows Software Probe Maintenance Service $ServiceName = "Windows Software Probe Maintenance Service" $Service = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue If ( $Service.Length -gt 0 ) { Control-Service -Stop -Name $ServiceName Write-Output "Deleting the service: ""${ServiceName}""" Try { Start-Process "sc" -ArgumentList "delete ${ServiceName}" -Wait } Catch { Write-Error $_.Exception.Message } } ## Remove Windows Software Probe Syslog Service $ServiceName = "Windows Software Probe Syslog Service" $Service = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue If ( $Service.Length -gt 0 ) { Control-Service -Stop -Name $ServiceName Write-Output "Deleting the service: ""${ServiceName}""" Try { Start-Process "sc" -ArgumentList "delete ${ServiceName}" -Wait } Catch { Write-Error $_.Exception.Message } } ## Remove Windows Software Probe Service $ServiceName = "Windows Software Probe Service" $Service = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue If ( $Service.Length -gt 0 ) { Control-Service -Stop -Name $ServiceName Write-Output "Deleting the service: ""${ServiceName}""" Try { Start-Process "sc" -ArgumentList "delete ${ServiceName}" -Wait } Catch { Write-Error $_.Exception.Message } } ## Remove Windows Agent Maintenance Service $ServiceName = "Windows Agent Maintenance Service" $Service = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue If ( $Service.Length -gt 0 ) { Control-Service -Stop -Name $ServiceName Write-Output "Deleting the service: ""${ServiceName}""" Try { Start-Process "sc" -ArgumentList "delete ${ServiceName}" -Wait } Catch { Write-Error $_.Exception.Message } } ## Remove Windows Agent Service $ServiceName = "Windows Agent Service" $Service = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue If ( $Service.Length -gt 0 ) { Control-Service -Stop -Name $ServiceName Write-Output "Deleting the service: ""${ServiceName}""" Try { Start-Process "sc" -ArgumentList "delete ${ServiceName}" -Wait } Catch { Write-Error $_.Exception.Message } } ## Remove "MspPlatform" directory If ( Test-Path "${Env:ProgramFiles(x86)}\MspPlatform" ) { Write-Output "Forcefully removing ""${Env:ProgramFiles(x86)}\MspPlatform""" Try { Remove-Item "${Env:ProgramFiles(x86)}\MspPlatform" -Recurse -Force } Catch { Write-Error $_.Exception.Message } } ## Remove "N-able Technologies" directory If ( Test-Path "${Env:ProgramFiles(x86)}\N-able Technologies" ) { Write-Output "Forcefully removing ""${Env:ProgramFiles(x86)}\N-able Technologies""" Try { Remove-Item "${Env:ProgramFiles(x86)}\N-able Technologies" -Recurse -Force } Catch { Write-Error $_.Exception.Message } } ## Remove "N-able Technologies" registry key If ( Test-Path "HKLM:SOFTWARE\Wow6432Node\N-able Technologies" ) { Write-Output "Forcefully removing ""HKLM:SOFTWARE\Wow6432Node\N-able Technologies""" Try { Remove-Item "HKLM:SOFTWARE\Wow6432Node\N-able Technologies" -Recurse -Force } Catch { Write-Error $_.Exception.Message } } If ( Test-Path "HKLM:SOFTWARE\N-able Technologies" ) { Write-Output "Forcefully removing ""HKLM:SOFTWARE\N-able Technologies""" Try { Remove-Item "HKLM:SOFTWARE\N-able Technologies" -Recurse -Force } Catch { Write-Error $_.Exception.Message } }