« 上一篇下一篇 »

删除所有windows更新

将以下代码保存为C:\a.ps1文件,打开cmd分三步输入以下命令

(1)PowerShell 

(2)Set-ExecutionPolicy RemoteSigned 

(3)E:a.ps1

核心思想:windows 的"wusa.exe"和ps1批处理文件,每次在kb数字上+1,删除所有补丁


  1. $KBID = "KB958488"   

  2. $KBID1 = "KB976902"  

  3. cls  

  4. function Remove-Update {  

  5.   

  6. $HotFixes = Get-HotFix  

  7. [int]$count = 0;  

  8. foreach ($HotFix in $HotFixes)   

  9. {  

  10.     $count = $count + 1  

  11.     Write-Host $count / $HotFixes.Count  

  12.     if (($KBID -ne $HotFix.HotfixId) -and ($KBID1 -ne $HotFix.HotfixId))   

  13.     {   

  14.         "Inside first if"   

  15.         $KBID = $HotFix.HotfixId.Replace("KB", "")   

  16.         $RemovalCommand = "wusa.exe /uninstall /kb:$KBID /quiet /norestart"   

  17.         Write-Host "Removing $KBID from the target."   

  18.         Invoke-Expression $RemovalCommand   

  19.           

  20.     }   

  21.       

  22.     if ($KBID -match "All")   

  23.     {   

  24.         $KBNumber = $HotFix.HotfixId.Replace("KB", "")   

  25.         $RemovalCommand = "wusa.exe /uninstall /kb:$KBNumber /quiet /norestart"   

  26.         Write-Host "Removing update $KBNumber from the target."   

  27.         Invoke-Expression $RemovalCommand   

  28.           

  29.     }   

  30.       

  31.     if ($KBID -match "Security")   

  32.     {   

  33.         if ($HotFix.Description -match "Security")   

  34.         {   

  35.           

  36.             $KBSecurity = $HotFix.HotfixId.Replace("KB", "")   

  37.             $RemovalCommand = "wusa.exe /uninstall /kb:$KBSecurity /quiet /norestart"   

  38.             Write-Host "Removing Security Update $KBSecurity from the target."   

  39.             Invoke-Expression $RemovalCommand   

  40.         }   

  41.     }   

  42.      

  43.   

  44.     while (@(Get-Process wusa -ErrorAction SilentlyContinue).Count -ne 0)   

  45.     {   

  46.         Start-Sleep 3   

  47.         Write-Host "Waiting for update removal to finish ..."   

  48.     }   

  49. }  

  50.   

  51. }  

  52.   

  53. Remove-Update