# uninstall.ps1 - CommModifyKit 驱动 + CommModifyKit.dll 卸载脚本 # 必须以管理员权限运行 #Requires -Version 5.1 #Requires -RunAsAdministrator $ErrorActionPreference = 'Continue' Write-Host '=== CommModifyKit 卸载脚本 ===' -ForegroundColor Cyan # ============================================================================ # 1. 停止并删除驱动服务 # ============================================================================ $ServiceName = 'CommModifyKit' $ExistingService = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue if ($ExistingService) { Write-Host "停止服务 $ServiceName ..." if ($ExistingService.Status -eq 'Running') { sc.exe stop $ServiceName | Out-Null Start-Sleep -Seconds 2 } Write-Host "删除服务 $ServiceName ..." sc.exe delete $ServiceName | Out-Null Write-Host " 完成" -ForegroundColor Green } else { Write-Host "服务 $ServiceName 不存在,跳过" } # ============================================================================ # 2. 删除驱动文件 # ============================================================================ $TargetDriverSys = Join-Path $env:windir "System32\drivers\CommModifyKit.sys" $TargetDriverInf = Join-Path $env:windir "System32\drivers\CommModifyKit.inf" if (Test-Path $TargetDriverSys) { Write-Host "删除 $TargetDriverSys ..." Remove-Item -Force $TargetDriverSys Write-Host " 完成" -ForegroundColor Green } if (Test-Path $TargetDriverInf) { Write-Host "删除 $TargetDriverInf ..." Remove-Item -Force $TargetDriverInf Write-Host " 完成" -ForegroundColor Green } # ============================================================================ # 3. 通过 pnputil 移除驱动包(如果存在) # ============================================================================ Write-Host "" Write-Host "尝试通过 pnputil 移除驱动包..." try { $Drivers = pnputil /enum-drivers | Select-String 'CommModifyKit' -Context 1,0 if ($Drivers) { $Drivers | ForEach-Object { Write-Host " 发现: $_" } Write-Warning "请手动执行 pnputil /delete-driver oem*.inf /uninstall /force 移除" } else { Write-Host " 无已安装的驱动包" -ForegroundColor Green } } catch { Write-Warning "pnputil 检查失败: $_" } # ============================================================================ # 4. 关闭测试签名(可选,谨慎执行) # ============================================================================ Write-Host "" Write-Host "测试签名状态检查..." $TestSigning = bcdedit /enum | Select-String 'testsigning.*yes' -Quiet if ($TestSigning) { Write-Warning "测试签名当前已启用" Write-Host "如需关闭: bcdedit /set testsigning off(重启生效)" } Write-Host "" Write-Host '=== 卸载完成 ===' -ForegroundColor Cyan Write-Host "如需删除 DLL,请手动删除 CommModifyService 目录下的 CommModifyKit.dll"