Windows 2008服务器 – 批量卸载

我最近为IE7部署了IE7的更新,并且学习了我们使用的一些webtools不兼容的难题。 是否有服务器端的方式来大规模卸载IE7及其更新?

我在DC上使用Windows 2008。

谢谢

那么根据MS在受影响的机器上运行这个应该卸载IE 7并把IE 6回:

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

如果您是通过WSUS或SUS执行此操作,则还可以创build一个新的空白广告,该广告仅运行上述命令。 我build议在公司广泛推出之前,在其中一台受影响的机器上尝试以下操作:-)

“最简单”的方法是使用相同的机制来推出更新。 大多数中央软件部署实用程序和修补程序pipe理服务器允许您回滚更新(当然,这取决于您对IE7卸载程序的信任程度,但出于参数考虑,我们假设它始终正常工作)。

因此,例如,如果您使用WSUS更新了系统,则可以简单地回滚WSUS服务器上的所有更新。 但是,如果你直接在每台机器上更新IE7(例如通过Windows更新),那么你可以写一个简短的脚本(VBScript,AutoIt,Powershell,CMD …select你的毒药…)来运行IE7卸载程序并部署该脚本通过组策略。

无论你做什么,你都需要确保你的脚本在尝试卸载之前做了一些事情。 我强烈build议在安全模式下执行卸载,因为IE的卸载程序在许多防病毒实用程序和众多其他软件中运行不佳。

脚本1(预先卸载,由AD / GP部署):

  1. 将“ HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\InstalledByUser ”的值设置为0(这将防止“…必须被安装的用户卸载…”错误)
  2. 使用BootCfg将一个条目添加到boot.ini以强制机器默认启动到带有networking的安全模式
  3. 将本机configuration为使用本地pipe理员帐户自动login启动
  4. 为上述pipe理员添加一个条目到RunOnce键以运行将执行卸载的第二个脚本(下面)。
  5. 安排一个强制关机,并从当前时间重新启动2分钟(这将覆盖下一步,如果还没有发生)使用类似shutdown -r -f -t 0
  6. 发出“很好”的关机并重新启动。

脚本2(卸载):

  1. 对每个补丁运行卸载程序(使用无声/静默选项)(并等待每个补丁运行下一个补丁之前)…每个命令都将在registry中的卸载密钥中。
  2. 为IE7运行卸载程序(再次,静默模式)(等待完成): %windir%\ie7\spuninst\spuninst.exe /quiet
  3. 删除自动loginconfiguration。
  4. 使用BootCfg将boot.ini更改回原始configuration(“正常”启动)。
  5. 发出强制关机并重新启动。

由于此卸载的侵入性,您需要与用户仔细安排。

最后,确保对整个过程进行几次testing,并在您的环境中引发尽可能多的“现实世界”场景,从而妨碍部署按预期运行。