Windows-Server-2008

Windows 2008 伺服器 - 批量解除安裝

  • September 10, 2009

我最近部署了 IE6 到 IE7 的更新,並了解到我們正在使用的一些 webtools 不兼容。有沒有一種伺服器端的方法可以批量解除安裝 IE7 及其更新?

我在 DC 上使用 Windows 2008。

謝謝

好吧,根據 MS 在受影響的機器上執行它應該解除安裝 IE 7 並將 IE 6 放回去:

%windir%\ie7\spuninst\spuninst.exe /quiet

如果您從 WSUS 或 SUS 執行此操作,您還可以創建一個僅執行上述命令的新空廣告。我確實建議在其中一台受影響的機器上嘗試一下,然後再在公司範圍內推廣它:-)

“最簡單”的方法是使用與推出更新相同的機制。大多數中央軟體部署實用程序和更新檔管理伺服器都允許您回滾更新(當然,這取決於您對 IE7 解除安裝程序的信任程度,但為了爭論,我們假設它始終可以完美執行)。

因此,例如,如果您使用 WSUS 更新了系統,那麼您可以簡單地從 WSUS 伺服器回滾所有更新。但是,如果您直接在每台機器上更新了 IE7(例如通過 Windows 更新),那麼您可以編寫一個簡短的腳本(VBScript、AutoIt、Powershell、CMD…選擇您的毒藥…)來執行 IE7 解除安裝程序並部署該腳本通過組策略。

但是,無論您採用哪種方式,您都需要確保您的腳本在嘗試解除安裝之前執行一些操作。我強烈建議在安全模式下執行解除安裝,因為 IE 的解除安裝程序不能很好地與許多防病毒實用程序和許多其他軟體配合使用。

腳本 1(解除安裝前,由 AD/GP 部署):

  1. 將“”的值設置HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\InstalledByUser為 0(這將防止“…必須由安裝…的使用者解除安裝…”錯誤)
  2. 用於BootCfg添加一個條目以boot.ini強制機器預設啟動到帶網路連接的安全模式
  3. 將機器配置為在啟動時使用本地管理員帳戶自動登錄
  4. 為上述管理員在 RunOnce 鍵中添加一個條目,以執行將執行解除安裝的第二個腳本(如下)。
  5. 使用類似shutdown -r -f -t 0
  6. 發出“不錯的”關機並重新啟動。

腳本 2(解除安裝):

  1. 為每個更新檔執行解除安裝程序(使用靜默/安靜選項)(並在執行下一個更新檔之前等待每個更新檔完成)…每個更新檔的命令將在系統資料庫中的解除安裝鍵中。
  2. 為 IE7 執行解除安裝程序(再次,靜默模式)(並等待完成):%windir%\ie7\spuninst\spuninst.exe /quiet
  3. 刪除自動登錄配置。
  4. 使用 BootCfg 將 boot.ini 更改回原始配置(“正常”引導)。
  5. 發出強制關機並重新啟動。

由於此解除安裝的侵入性,您需要與您的使用者仔細安排。

最後,請務必對整個過程進行幾次測試,在您的環境中拋出盡可能多的“真實世界”場景,這些場景可能會妨礙部署按預期執行。

引用自:https://serverfault.com/questions/64157