| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- # 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"
|