如何使用SCCM回滚补丁|使用ConfigMgr卸载Windows Update

在本文中,我将解释如何使用SCCM回滚补丁。我们将查看在远程Windows 10/11计算机上使用ConfigMgr卸载Windows更新的过程。

我经常收到电子邮件,询问如何回滚SCCM中的补丁?经过一段时间,我意识到大多数ConfigMgr管理员发现很难删除补丁。为了节省您的时间,我决定发布一个指南,介绍使用SCCM回滚补丁更新的步骤。

在Windows系统上,想要回滚已安装的更新可能有多种原因。让我们想象一下,你在Windows电脑上安装了一组更新,但是其中一个实际上导致了全面的问题。我指示你找到那个更新并将其从所有系统中删除。

PatchMyPC HorizontalAD
补丁我的PC赞助广告

要做到这一点,您必须定位更新;找到它可能需要大量调试。这样做之后,应该将其从所有系统中删除。有一个简单的过程可以做到这一点,我将在下一节中解释。

配置管理器使它更容易部署软件更新华体会体育系列甚至回滚Windows电脑上的软件更新。华体会体育系列确保Configuration Manager客户端在尝试回滚补丁之前,已在计算机上安装。

使用ConfigMgr卸载Windows Update的方法

总的来说,有三种使用ConfigMgr回滚Windows更新的方法:

  • 在运行命令行中使用自定义任务序列
  • 使用PowerShell脚本回退需要的补丁
  • 创建一个程序并使用VB脚本删除补丁

任务序列卸载补丁的方法似乎比使用脚本更简单。尽管有许多可用的PowerShell脚本,但其中一些可能对您卸载更新无效。在这篇文章中,我们将向您展示如何使用自定义任务序列从远程Windows计算机卸载补丁。

如何使用SCCM回滚补丁(ConfigMgr)

我们将使用以下步骤使用SCCM回滚补丁。

  1. 确定需要卸载的更新。
  2. 创建回滚补丁的自定义任务序列。
  3. 将任务序列部署到SCCM集合。

1.标识回滚的更新

使用SCCM卸载更新的第一步涉及识别更新。一个更新可以用它的KB号来标识,这是一个由Microsoft分配的唯一的数字。

使用以下步骤识别用于回滚的KB更新:

  • 在计算机上启动控制面板。
  • 项目>项目和特性>安装更新
  • 从已安装的更新列表中,查找要卸载的更新并记下其KB号。例如,KB3004394是我们将使用SCCM回滚的那个。
识别更新|使用SCCM回滚补丁
识别更新|使用SCCM回滚补丁

2.创建自定义补丁回滚任务顺序

一旦确定了要使用SCCM回滚的补丁的KB数,下一步就是在SCCM中创建自定义任务序列。自定义任务序列允许您添加运行命令行步骤,这里你可以用WUSA.exe命令行实用程序回滚补丁。

在Configuration Manager控制台中,导航到华体会体育系列软件库>概述>操作系统>任务序列。右键单击任务序列节点,并选择创建任务序列

创建自定义任务序列|使用SCCM回滚补丁
创建自定义任务序列|使用SCCM回滚补丁

从TS选项列表中选择创建一个新的自定义任务序列并点击下一个

创建自定义任务序列|使用SCCM回滚补丁
创建自定义任务序列|使用SCCM回滚补丁

对于自定义任务序列,请指定任务序列名称。您可以添加一个简短的描述,说明这个TS是关于什么的。确保您没有为这个任务序列选择任何引导映像,因为它不是必需的。点击下一个

创建自定义任务序列|使用SCCM回滚补丁
创建自定义任务序列|使用SCCM回滚补丁

总结页面显示任务序列的详细信息和配置。点击下一个

在SCCM中创建自定义任务序列
在SCCM中创建自定义任务序列

完成在任务序列向导页面,单击关闭。这就完成了在SCCM中创建自定义任务序列的步骤。

在SCCM中创建自定义任务序列
在SCCM中创建自定义任务序列

您在上面的步骤中创建的任务序列是一个空白的TS,它没有做任何事情,因为我们没有为任务序列添加任何指令。我们现在就做。右键单击您创建的自定义任务序列,选择编辑。在任务序列编辑器中,选择添加>一般>运行命令行

任务顺序执行命令行|使用SCCM回滚补丁
任务顺序执行命令行|使用SCCM回滚补丁

在命令行类型中wusa.exe /uninstall /kb:KBNUMBER/quiet /norestart. exe点击好吧。请确保将KB号替换为希望回滚的KB号。任务序列现在已经为部署做好了准备。

如果你正在寻找命令的解释,它是:

  • wusa.exe: Windows Update Standalone Installer可执行文件。
  • /卸载:安装程序将卸载该软件包。
  • / kb: KBNUMBER:安装/卸载与KBNumber相关的软件包。
  • /安静:安静模式,这里没有用户交互。静默卸载补丁。
  • / norestart:当与安静模式结合使用时,将不会启动重启。
使用SCCM回滚补丁
使用SCCM回滚补丁

3.部署回滚补丁的任务顺序

我们现在已经准备好了任务序列,它将从计算机上回滚或卸载补丁。右键单击Task序列并选择部署。在一般页面,点击浏览并选择目标任务序列的集合。点击下一个

部署回滚补丁的任务顺序
部署回滚补丁的任务顺序

部署设置页,指定要如何部署任务序列。动作设置为安装,您必须选择目的。根据需要选择目的,单击下一个。请参考以下文章了解Available和Required之间的差异SCCM中的部署选项。

部署回滚补丁的任务顺序
部署回滚补丁的任务顺序

调度选项卡,您可以为任务序列部署指定计划。根据您配置的时间表,将从计算机上卸载更新。点击下一个

部署回滚补丁的任务顺序
部署回滚补丁的任务顺序

为分发点配置所需的选项并单击下一个

部署回滚补丁的任务顺序
部署回滚补丁的任务顺序

中的TS部署设置总结页面并点击关闭完成

部署回滚补丁的任务顺序
部署回滚补丁的任务顺序

4.验证使用SCCM卸载补丁

在使用SCCM部署回滚补丁的任务序列之后,我们将在计算机上验证部署。登录客户端计算机(Windows 10或Windows 11)。启动软件中心。华体会体育系列我们看到任务序列执行已经完成,补丁删除成功。

验证使用SCCM卸载补丁
验证使用SCCM卸载补丁

验证是否使用SCCM卸载了补丁的另一种方法是查看位于客户机机器上的smsts.log文件。在smsts.log,下面一行确认补丁已成功卸载。

成功完成操作(运行命令行),退出win32代码3010
验证使用SCCM卸载补丁
验证使用SCCM卸载补丁

26日的评论

  1. 《阿凡达》的照片 Khaldoun艾哈迈德 说:

    你好Brajwal,

    如果我推送一个任务序列来删除一个特定的KB,而这个KB已经使用ADR推送了,这是否保证不会使用ADR再次安装该KB ?

  2. 《阿凡达》的照片 克里斯托弗·加特林 说:

    wusa卸载命令静默模式不适用于服务器2016和2019。你知道一种方法可以悄悄地删除2016/2019年的更新吗?

  3. 《阿凡达》的照片 Aditi Vaidya 说:

    带有/quiet选项的命令不适用于win2019服务器。在没有/安静的情况下,它会起作用。如何在win2019服务器上卸载没有用户交互的更新?

    1. 《阿凡达》的照片 费尔南多Castor 说:

      嗨。
      现在有了累积更新,这个突击队就不起作用了。

      尝试使用命令- dism /Online /Remove-Package /PackageName

      对我来说效果很好

  4. 《阿凡达》的照片 Sarfraz Aslam 说:

    我试图删除2020年6月的Windows 10更新。但是在软件中心,状态是华体会体育系列正在安装,但是什么都没有发生。另外,检查了smsts.log,没有找到任何东西。
    任务序列命令为:
    C:\windows\system32\wusa.exe /uninstall /kb:4561602 /quiet /norestart

  5. 《阿凡达》的照片 罗马 说:

    嗨,Prajwal,一旦您使用任务序列删除了KB,您是否需要做些什么来确保它不会随着软件更新部署而再次安装?华体会体育系列我有一个问题,在KB只有一个国家

  6. 《阿凡达》的照片 imambasha 说:

    嗨,我们可以从应用程序和包模型中删除补丁吗?如果可能的话,请给我提供两个过程的信息。

  7. 《阿凡达》的照片 兰德Negi。 说:

    我试图在windows10操作系统中修补卸载命令,如果它不接受此命令。

    我在单个系统上测试了这个命令,它也出现了错误。

    由于错误2147942487 "参数不正确,无法卸载Windows更新。(命令行:“C:WINDOWSsystem32wusa.exe /uninstall /kb4230204. exe”)。Msu /quiet /log”)。

      1. 《阿凡达》的照片 兰德Negi。 说:

        我也尝试命令没有/log仍然得到错误。

        我尝试了windows 7和windows 10操作系统的命令C:WINDOWSsystem32wusa.exe /uninstall /kb4230204 /quiet /norestart

        在windows7工作,但不工作在windows10请协助我。

        1. 《阿凡达》的照片 mandy78 说:

          应该是/kb:4230204

      2. 《阿凡达》的照片 imambasha 说:

        我们可以从应用程序和包模型中删除补丁吗?如果可能的话,请提供我包装模型的流程。

    1. 我认为在WINDOWS和system32之后还有缺失。所以它应该是“C:WINDOWSsystem32wusa.exe /uninstall /kb4230204。msu /quiet /log”,根据Prajwal的评论,可能会排除/log。

  8. 《阿凡达》的照片 丹Ganguly 说:

    你好,

    我按照这些步骤在Windows 10上卸载了一个KB,退出码是87。
    执行命令行:smsswd.exe /run: wusa.exe /uninstall /kb:3163912 /quiet /norestart TSManager 8/8/2016 12:21:23 PM 768 (0x0300)
    [smsswd.exe] InstallSo华体会体育系列ftware 8/8/2016 12:21:24 PM 4540 (0x11BC)
    PackageID = " Install华体会体育系列Software 8/8/2016 12:21:24 PM 4540 (0x11BC) "
    BaseVar = ", ContinueOnError= " Instal华体会体育系列lSoftware 8/8/2016 12:21:24 PM 4540 (0x11BC)
    ProgramName = ' wusa.exe /uninstall /kb:3163912 /quiet /norestart ' Insta华体会体育系列llSoftware 8/8/2016 12:21:24 PM 4540 (0x11BC)
    SwdAction = ' 0001 ' Insta华体会体育系列llSoftware 8/8/2016 12:21:24 PM 4540 (0x11BC)
    命令行扩展名。exe是“%1”%* InstallSoftware 8/8/2016 12:21:2华体会体育系列4 PM 4540 (0x11BC)
    设置命令行:运行命令行InstallSoftware 8/8/2016 12:21:华体会体育系列24 PM 4540 (0x11BC)
    InstallSoftware 8/8/2016 12:2华体会体育系列1:24 PM 4540 (0x11BC)
    执行命令行:运行命令行InstallSoftware 8/8/2016 12:21:24 PM 华体会体育系列4540 (0x11BC)
    进程完成,退出代码为87 InstallSoftware 8/8/2016 12:21华体会体育系列:24 PM 4540 (0x11BC)
    InstallSoftware 8/8/2016 12:21:2华体会体育系列4 PM 4540 (0x11BC)
    流程完成,退出代码为87 TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    !——————————————————————————————–!TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    执行操作:移除更新KB3163912失败。
    参数不正确。(错误:00000057;来源:Windows) TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    在传输中设置验证器TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    设置全局环境变量_SMSTSLastActionRetCode=87 TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    设置全局环境变量_SMSTSLastActionSucceeded=false TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    清除本地默认环境TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    事件解释执行引擎忽略操作(Remove Update KB3163912)失败,继续执行TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    在传输中设置验证器TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    更新了对象C:_SMSTaskSequence的安全性。TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    设置全局环境变量_SMSTSNextInstructionPointer=1 TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    设置TS执行环境变量_SMSTSNextInstructionPointer=1 TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    设置全局环境变量_SMSTSInstructionStackString= TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    设置TS执行环境变量_SMSTSInstructionStackString= TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    保存当前环境块TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    设置全局环境变量_SMSTSLastActionRetryCount=0 TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    任务执行引擎执行成功TSManager 8/8/2016 12:21:24 PM 768 (0x0300)告警解释
    在传输中设置验证器TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    **************************************************************************** TSManager 8/8/2016 12:21:24点768 (0 x0300)
    执行引擎结果代码:Success (0) TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    清理。TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    移除认证器TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    清理任务序列文件夹TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    无法删除文件C:_SMSTaskSequenceTSEnv.dat (0x80070005)。继续。TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    删除目录“C:_SMSTaskSequence”失败事件解释TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    SetNamedSecurityInfo()失败。TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    SetObjectOwner()失败。0 x80070005。TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    RemoveFile()操作C:_SMSTaskSequenceTSEnv.dat失败。0 x80070005。TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    RemoveDirectoryW failed (0x80070091) for C:_SMSTaskSequence TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    删除卷ID文件C:_SMSTSVolumeID。7159644d-f741-45d5-ab29-0ad8aa4771ca…TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    成功注销任务排序环境COM接口。TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    执行命令行:" C:WindowsCCMTsProgressUI.exe " /Unregister TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    ==========[TsProgressUI started in process 4432]========== TsProgressUI 8/8/2016 12:21:24 PM 3752 (0x0EA8)
    命令行:" C:WindowsCCMTsProgressUI.exe " /Unregister TsProgressUI 8/8/2016 12:21:24 PM 3752 (0x0EA8)
    取消注册COM类TsProgressUI 8/8/2016 12:21:24 PM 3752 (0x0EA8)
    取消注册类对象TsProgressUI 8/8/2016 12:21:24 PM 3752 (0x0EA8)
    关闭完成。TsProgressUI 8/8/2016 12:21:24 PM 3752 (0x0EA8)
    进程完成,退出代码为0 TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    成功注销TS进度界面。TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    开始清理TS策略TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    结束TS策略清理TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    任务序列管理器ServiceMain执行完毕。TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    任务序列管理器服务将被重新配置TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    任务序列管理器服务重新配置成功TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    发送成功状态消息TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    在传输中设置验证器TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    RegQueryValueExW is failed for Softwa华体会体育系列reMicrosoftSMSTask Sequence, SMSTSEndProgram TSManager 8/8/2016 12:21:24 PM 768 (0x0300)日志含义
    GetTsRegValue()不成功。0 x80070002。TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    结束程序:TSManager 8/8/2016 12:21:24 PM 768 (0x0300)
    日志从C:WindowsCCMLogs TSManager 8/8/2016 12:21:25 PM 768 (0x0300)

    1. 《阿凡达》的照片 奥列格Proscurchin 说:

      我得到同样的错误87。这几天我都被这玩意搞疯了。尝试了所有可能的和不可能的wusa -软件包和TS -没有工作。一旦我从32位CMD/Powershell运行命令,它就会失败,显示“安装程序遇到错误:0x8000fffff /灾难性失败”。禁用64位文件系统重定向也没有帮助。我需要在windows 101909上运行它。任何帮助都将不胜感激。谢谢。

      1. 《阿凡达》的照片 伊恩·保罗·斯宾塞 说:

        你好,我在使用WUSA时遇到了很多麻烦,我认为在WUSA过程中必须在线检查。我发现dism " disc .exe /online /add-package /packagepath: " C:\Windows\Temp\Windows10.0-KB4601345-x64_PSFX。Cab”/quiet /norestart

        不确定它是否适用于TS,但它比WUSA成功得多?

  9. 《阿凡达》的照片 8 thhenry 说:

    你好,

    在任务序列方法中,TS中可以有多个KB吗?例如,我可以有KB123456和KB654321在同一个TS?

    再次感谢你的精彩文章!

      1. 《阿凡达》的照片 迪·库马尔 说:

        如何连接KB的指挥
        wusa.exe /uninstall /kb:KBNUMBER1 /kb:KBNUMBER2 /quiet /norestart .exe

        wusa.exe /uninstall /kb:KBNUMBER1 /quiet /norestart .exe
        wusa.exe /uninstall /kb:KBNUMBER2 /quiet /norestart .exe

        1. 《阿凡达》的照片 阿卡纳 说:

          告诉我它是否有效。

  10. 《阿凡达》的照片 aakash saxena 说:

    我试着删除Office更新。但是在软件中心,状态是华体会体育系列正在安装,但是什么都没有发生。另外,检查了smsts.log,没有找到任何东西。

  11. 《阿凡达》的照片 Alesta 说:

    它能在服务器2003上工作吗?

  12. 《阿凡达》的照片 Alesta 说:

    它会在服务器2003中工作吗?

  13. 《阿凡达》的照片 科迪·李·克莱门茨 说:

    当您可以创建应用程序并验证已删除更新时,为什么要选择使用TS呢?

      1. 《阿凡达》的照片 迈克·康普顿 说:

        在这种情况下,您应该在开头段落中明确指出,这不是最好的解决方案,在任务序列引擎中包装命令是不必要的复杂性和客户端的开销;更多的错误,更多的日志要检查。

        如果您将更新作为应用程序创建,并输入命令行删除它,那么您可以使用powershell脚本扫描系统以确认热修复程序已被删除,您还可以更好地控制重新启动。

        我认为,上述解决方案远不是SCCM 2012中可用的最佳方案。

留言回复

您的电子邮件地址将不会被公布。必填项被标记*