param( [string]$ServiceName = "QYZH.InteractiveMagazine.PrintWorker" ) $ErrorActionPreference = "Stop" if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { throw "Please run this script in an elevated PowerShell window." } $existing = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue if (-not $existing) { Write-Host "Service not found: $ServiceName" return } if ($existing.Status -ne "Stopped") { Stop-Service -Name $ServiceName -Force $existing.WaitForStatus("Stopped", "00:00:30") } sc.exe delete $ServiceName | Out-Null Write-Host "Service deleted: $ServiceName"