Files
Powershell-Scripts/App Uninstall Scripts/App - Cisco AnyConnect - Uninstall.ps1

60 lines
1.8 KiB
PowerShell

<#
Author: Gabe Kerntke
Date: 02-21-2024
.Synopsis
Script checks to see if Cisco AnyConnect is installed, if installed it will uninstall
.Modified
2024-02-21 (GabeK) - Original script created
#>
######################
### Variables ###
######################
$Name = "Cisco AnyConnect Secure Mobility Client"
######################
### Functions ###
######################
#Function checks for 32 or 64 bit processor and then pulls list of applications accordingly
Function Get-Software ($CPU = $ENV:PROCESSOR_ARCHITECTURE) {
If ($CPU -eq 'AMD64') {
$64bit = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*
$32bit = Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*
$32bit + $64bit
}
Else { Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* }
}
#Function to uninstall via WMIobject (control panel)
Function Uninstall {
$Uninstall = Get-WmiObject Win32_Product -filter "name like '$Name%'" | ForEach-Object { $_.Uninstall() }
$Value = $Uninstall | Select-Object -ExpandProperty ReturnValue
If ($Value -eq "0") {
Write-Host "$Name uninstalled successfully"
#$Path = Get-ChildItem "C:\Users" -Recurse -Force | Where-Object {$_ -like "*Cisco AnyConnect*"}
#Foreach ($Item in $Path) {
#Remove-Item -Force -Recurse -Verbose -ErrorAction SilentlyContinue
#}
}
else {
Write-Host "Failed to uninstall $Name, exiting script"
}
}
######################
### Script start ###
######################
#Check to see if program is installed
$Applist = Get-Software | Where-Object { $_.DisplayName -like "*$Name*" }
If ($Applist.DisplayName -like "*$Name*") {
Uninstall
}
Else {
Write-Host "$Name is not installed, exiting script"
}