mirror of
https://github.com/AikidoSec/safe-chain.git
synced 2026-05-26 12:10:49 +00:00
Add uninstall scripts
This commit is contained in:
parent
4bf27ac2db
commit
af90b20f12
2 changed files with 109 additions and 0 deletions
59
install-scripts/uninstall-endpoint-windows.ps1
Normal file
59
install-scripts/uninstall-endpoint-windows.ps1
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
# Uninstalls SafeChain Ultimate endpoint on Windows
|
||||
#
|
||||
# Usage: iex (iwr '<url>' -UseBasicParsing)
|
||||
|
||||
# Configuration
|
||||
$AppName = "SafeChain Ultimate"
|
||||
|
||||
# Helper functions
|
||||
function Write-Info {
|
||||
param([string]$Message)
|
||||
Write-Host "[INFO] $Message" -ForegroundColor Green
|
||||
}
|
||||
|
||||
function Write-Error-Custom {
|
||||
param([string]$Message)
|
||||
Write-Host "[ERROR] $Message" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Check if running as Administrator
|
||||
function Test-Administrator {
|
||||
$identity = [Security.Principal.WindowsIdentity]::GetCurrent()
|
||||
$principal = New-Object Security.Principal.WindowsPrincipal($identity)
|
||||
return $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
|
||||
}
|
||||
|
||||
# Main uninstallation
|
||||
function Uninstall-Endpoint {
|
||||
# Check if we're running as Administrator
|
||||
if (-not (Test-Administrator)) {
|
||||
Write-Error-Custom "Administrator privileges required. Please run this script in an elevated terminal (Run as Administrator)."
|
||||
}
|
||||
|
||||
# Find the installed product
|
||||
Write-Info "Looking for SafeChain Ultimate installation..."
|
||||
$app = Get-WmiObject -Class Win32_Product -Filter "Name='$AppName'"
|
||||
|
||||
if (-not $app) {
|
||||
Write-Error-Custom "SafeChain Ultimate does not appear to be installed."
|
||||
}
|
||||
|
||||
$productCode = $app.IdentifyingNumber
|
||||
|
||||
Write-Info "Uninstalling SafeChain Ultimate..."
|
||||
$process = Start-Process -FilePath "msiexec" -ArgumentList "/x", $productCode, "/qn", "/norestart" -Wait -PassThru
|
||||
if ($process.ExitCode -ne 0) {
|
||||
Write-Error-Custom "Uninstall failed (exit code: $($process.ExitCode))."
|
||||
}
|
||||
|
||||
Write-Info "SafeChain Ultimate uninstalled successfully!"
|
||||
}
|
||||
|
||||
# Run uninstallation
|
||||
try {
|
||||
Uninstall-Endpoint
|
||||
}
|
||||
catch {
|
||||
Write-Error-Custom "Uninstallation failed: $_"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue