如果软件更新需要多次重启,则任务序列在Configuration Manager失败
本文提供的信息可解决使用Configuration Manager任务序列时出现任务序列环境未找到错误的问题。
原始产品版本:Microsoft System Center 2012 Configuration Manager、Microsoft System Center 2012 R2 Configuration Manager、Configuration Manager (current branch)
原始 KB 编号: 2894518
摘要
System Center 2012 的累积更新 3 Configuration Manager Service Pack 2 和 System Center 2012 R2 Configuration Manager Service Pack 1 以及 Configuration Manager当前分支版本 1602 中修复了此问题。
当软件更新安装需要两次重启时, SMSTSWaitForSecondReboot
可以使用新的可选任务序列变量 来更好地控制客户端行为。
有关详细信息,请参阅Configuration Manager累积更新 3 的说明中的软件更新管理/操作系统部署部分。
有关当前分支Configuration Manager,请参阅任务序列变量。
症状
假设使用安装软件汇报步骤的Configuration Manager任务序列安装软件更新在任务序列成功运行安装软件汇报任务后触发多次重启。 在这种情况下,任务序列可能会失败并生成以下错误消息:
找不到任务序列环境
注意
可以在 Configuration Manager 中使用“安装软件汇报任务序列”步骤中的新“重试”选项来避免此问题。
原因
软件更新启动的第一次重启由任务序列控制。 但是,第二个重启请求通常由 Windows 组件 (启动,Component-Based 服务) ,不受任务序列控制。 因此,在重启之前不会保存任务序列执行状态,因为第二次重启不受任务序列控制。 当任务序列在第二次重启后恢复时,没有状态可以成功继续。
解决方案
若要解决此问题,我们建议使用 Configuration Manager 的常见软件更新功能而不是使用任务序列来应用任何需要双重重启的更新。 以下软件更新报告需要多次重启。
- 3126446 MS16-017:远程桌面显示驱动程序安全更新说明:2016 年 2 月 9 日
- 3096053 2015 年 9 月针对Windows 8和Windows Server 2012的服务堆栈更新
- 3075222 MS15-082:Windows 中 RDP 安全更新的说明:2015 年 8 月 11 日
- 3067904 MS15-082:Windows RDP 安全更新说明:2015 年 7 月 14 日
- 3069762 MS15-067:Windows RDP 安全更新说明:2015 年 7 月 14 日
- 3003729 2015 年 4 月针对Windows 8和Windows Server 2012的服务堆栈更新
- 3035017 MS15-030:远程桌面协议安全更新说明:2015 年 3 月 10 日
- 3039976 MS15-030:远程桌面协议中的漏洞可能允许拒绝服务:2015 年 3 月 10 日
- 3036493 MS15-030:远程桌面协议安全更新说明:2015 年 3 月 10 日
- 3003743 MS14-074:远程桌面协议中的漏洞可能允许绕过安全功能:2014 年 11 月 11 日
- 2984976 RDP 8.0 更新,用于在 Windows 7 或 Windows Server 2008 R2 上进行受限管理
- 2981685如果未在计算机上安装 BitLocker,则无法安装安全更新
- 2966034未安装2919355更新的Windows 8.1系统的远程桌面安全更新说明:2014 年 6 月 10 日
- 2965788 MS14-030:Windows 远程桌面安全更新说明:2014 年 6 月 10 日
- 2920189已撤销的不符合 UEFI 模块的更新汇总说明:2014 年 5 月 13 日
- 2862330 MS13-081:USB 驱动程序安全更新说明:2013 年 10 月 8 日
- 2871777 服务堆栈更新适用于Windows RT、Windows 8和Windows Server 2012:2013 年 9 月
- 2871690 Microsoft 安全公告:更新以撤销不符合的 UEFI 启动加载程序模块
- 2821895 服务堆栈更新可用于Windows RT和Windows 8:2013 年 6 月
- 2771431 服务堆栈更新可用于Windows 8和Windows Server 2012
- 在运行 Windows Vista、Windows Server 2008、Windows 7 或 Windows Server 2008 R2 的计算机上,某些核心字体中的2545698文本在 Internet Explorer 9 中显得模糊
- 安装 Windows 7 SP1 或 Windows Server 2008 R2 SP1 后,某些 USB 驱动程序中的2529073二进制文件不会更新
更多信息
由于第二次重启不受任务序列控制,因此重启前不会保存任何执行状态。 当任务序列在重启后恢复时,没有状态可以成功继续。 此外,遇到此问题时,可能会将以下消息记录到 Smsts.log 文件中:
!sVolumeID.empty () , HRESULT=80004005
!sTSMDataPath.empty () , HRESULT=80070002
TS::Utility::GetTSMDataPath ( sDataDir ) , HRESULT=80070002
未能设置日志目录。 某些执行历史记录可能会丢失。
系统找不到指定的文件。 (错误: 80070002;源:Windows)
正在执行任务序列
!sVolumeID.empty () , HRESULT=80004005
!sTSMDataPath.empty () , HRESULT=80070002
找不到任务序列环境
此外,运行低于 Microsoft System Center 2012 Configuration Manager Service Pack 1 的发布版本的客户端可能包含以下日志条目:
在 Windows PE 中完成的任务序列。
任务序列失败后,客户端计算机也可能停滞在预配模式下。 若要确定计算机是否处于预配模式,检查HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CCM\CcmExec
注册表子项。
ProvisioningMode
应设置为 false。 如果设置为 true,请使用以下方法之一使客户端退出预配模式:
使用 Windows Management Instrumentation (WMI) 方法
SetClientProvisioningMode
使客户端正确退出预配模式。 执行此操作的最简单方法是运行以下Windows PowerShell命令:Invoke-WmiMethod -Namespace root\CCM -Class SMS_Client -Name SetClientProvisioningMode -ArgumentList $false
或者,在提升的命令提示符下运行以下命令:
powershell Invoke-WmiMethod -Namespace root\CCM -Class SMS_Client -Name SetClientProvisioningMode -ArgumentList $false
重新安装客户端。
重要
不要尝试通过将 的值 ProvisioningMode
更改为 false 来修复客户端。 此操作不会使客户端完全退出预配模式。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈