public/Uninstall-NordVPN.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
#Requires -RunAsAdministrator #Requires -Modules @{ModuleName="msi";ModuleVersion="3.2.3.1024"} $ErrorActionPreference = "Stop" function Uninstall-NordVpn { <# .SYNOPSIS Uninstalls NordVpn app .PARAMETER displayLog Indicates if to display the uninstallation log file .PARAMETER cleanInstallDir Indicates if to clean leftovers after uninstallation #> [CmdletBinding()] param( [switch]$displayLog, [switch]$cleanInstallDir ) $existingInstallation = Get-MSIProductInfo -Name "NordVPN" if ($existingInstallation -eq $null) { Write-Host "Existing installation of NordVPN was not found." return } $installLocation = $existingInstallation.InstallLocation Write-Host "Found installation of NordVPN $($existingInstallation.ProductVersion)" Write-Host "Product code $($existingInstallation.ProductCode)" Write-Host "Install location $installLocation" Write-Host "Uninstalling..." $logFileName = [System.IO.Path]::GetTempFileName() $result = Uninstall-MSIProduct -ProductCode $existingInstallation.ProductCode -Log $logFileName if ($cleanInstallDir.IsPresent) { Write-Host "Cleaning install directory" Remove-Item $installLocation -Force -ErrorAction Ignore -Recurse } if ($displayLog.IsPresent) { Get-Content $logFileName | Write-Host } Write-Host "NordVPN has been successfully uninstalled" -ForegroundColor Green } |