uninstall.ps1 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. # uninstall.ps1 - CommModifyKit 驱动 + CommModifyKit.dll 卸载脚本
  2. # 必须以管理员权限运行
  3. #Requires -Version 5.1
  4. #Requires -RunAsAdministrator
  5. $ErrorActionPreference = 'Continue'
  6. Write-Host '=== CommModifyKit 卸载脚本 ===' -ForegroundColor Cyan
  7. # ============================================================================
  8. # 1. 停止并删除驱动服务
  9. # ============================================================================
  10. $ServiceName = 'CommModifyKit'
  11. $ExistingService = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue
  12. if ($ExistingService) {
  13. Write-Host "停止服务 $ServiceName ..."
  14. if ($ExistingService.Status -eq 'Running') {
  15. sc.exe stop $ServiceName | Out-Null
  16. Start-Sleep -Seconds 2
  17. }
  18. Write-Host "删除服务 $ServiceName ..."
  19. sc.exe delete $ServiceName | Out-Null
  20. Write-Host " 完成" -ForegroundColor Green
  21. } else {
  22. Write-Host "服务 $ServiceName 不存在,跳过"
  23. }
  24. # ============================================================================
  25. # 2. 删除驱动文件
  26. # ============================================================================
  27. $TargetDriverSys = Join-Path $env:windir "System32\drivers\CommModifyKit.sys"
  28. $TargetDriverInf = Join-Path $env:windir "System32\drivers\CommModifyKit.inf"
  29. if (Test-Path $TargetDriverSys) {
  30. Write-Host "删除 $TargetDriverSys ..."
  31. Remove-Item -Force $TargetDriverSys
  32. Write-Host " 完成" -ForegroundColor Green
  33. }
  34. if (Test-Path $TargetDriverInf) {
  35. Write-Host "删除 $TargetDriverInf ..."
  36. Remove-Item -Force $TargetDriverInf
  37. Write-Host " 完成" -ForegroundColor Green
  38. }
  39. # ============================================================================
  40. # 3. 通过 pnputil 移除驱动包(如果存在)
  41. # ============================================================================
  42. Write-Host ""
  43. Write-Host "尝试通过 pnputil 移除驱动包..."
  44. try {
  45. $Drivers = pnputil /enum-drivers | Select-String 'CommModifyKit' -Context 1,0
  46. if ($Drivers) {
  47. $Drivers | ForEach-Object {
  48. Write-Host " 发现: $_"
  49. }
  50. Write-Warning "请手动执行 pnputil /delete-driver oem*.inf /uninstall /force 移除"
  51. } else {
  52. Write-Host " 无已安装的驱动包" -ForegroundColor Green
  53. }
  54. } catch {
  55. Write-Warning "pnputil 检查失败: $_"
  56. }
  57. # ============================================================================
  58. # 4. 关闭测试签名(可选,谨慎执行)
  59. # ============================================================================
  60. Write-Host ""
  61. Write-Host "测试签名状态检查..."
  62. $TestSigning = bcdedit /enum | Select-String 'testsigning.*yes' -Quiet
  63. if ($TestSigning) {
  64. Write-Warning "测试签名当前已启用"
  65. Write-Host "如需关闭: bcdedit /set testsigning off(重启生效)"
  66. }
  67. Write-Host ""
  68. Write-Host '=== 卸载完成 ===' -ForegroundColor Cyan
  69. Write-Host "如需删除 DLL,请手动删除 CommModifyService 目录下的 CommModifyKit.dll"