症状
请考虑以下情况:
-
安装 System Center Configuration Manager 2007 Service Pack 1 (SP1) 客户端或 System Center Configuration Manager 2007 Service Pack 2 (SP2) 客户端。
-
在同一台计算机上安装安全更新974571或 Windows 7 Service Pack 1 (SP1) 。
-
ConfigMgr 任务序列在此客户端上运行。 此任务序列包括“捕获用户状态”任务序列步骤和“还原用户状态”任务序列步骤。
在此方案中,用户状态迁移失败。 同时,Ccmexec.log 文件中记录以下错误消息:
无法 (0x80092024) OSDSMPClient 导入客户端证书存储
原因
发生此错误是因为嵌入的 NULL 字符位于证书的“友好名称”属性中。 安全更新974571防止在其 友好名称 属性具有嵌入 NULL 字符时导入证书的操作。 因此,无法导入证书。
解决方法
若要解决此问题,请在所有 System Center Configuration Manager 2007 Service Pack 1 (SP1) 站点服务器以及所有 System Center Configuration Manager 2007 Service Pack 2 (SP2) 站点服务器上安装此修补程序。 然后,将此修补程序部署到所有客户端。此修补程序可为生成的任何新客户端证书解决此问题。 若要更正当前证书,请在所有 CONFIGURATION MANAGER SP1 客户端和所有CONFIGURATION MANAGER SP2 客户端上运行此包中的 CCMCertFix 实用工具。 请注意,若要提取 CCMCertFix 实用工具,请执行以下步骤:
-
在站点服务器上安装此修补程序。
-
找到CCMCertFix.exe文件。 默认情况下,此文件位于以下文件夹中:
ConfigMgr_2007_Installation_Directory\Logs\KB977203
-
复制,然后在任何现有客户端上运行CCMCertFix.exe文件。
Microsoft 提供了支持的修补程序。 但是,此修补程序旨在仅更正本文中所述的问题。 仅将此修补程序应用于遇到此特定问题的系统。 如果修补程序可供下载,则本知识库文章顶部有“可用修补程序下载”部分。 如果未显示此部分,请向 Microsoft 客户服务和支持部门提交请求以获取修补程序。 请注意,如果出现其他问题或需要进行任何故障排除,则可能需要创建单独的服务请求。 通常的支持成本将适用于其他支持问题和不符合此特定修补程序条件的问题。 有关 Microsoft 客户服务和支持人员电话号码的完整列表或创建单独的服务请求,请访问以下 Microsoft 网站:
http://support.microsoft.com/contactus/?ws=support请注意,“可用修补程序下载”窗体显示修补程序可用的语言。 如果看不到语言,这是因为该语言不提供修补程序。
先决条件
若要应用此修补程序,必须安装 System Center Configuration Manager 2007 Service Pack 1 (SP1) 或 System Center Configuration Manager 2007 Service Pack 2 (SP2) 。
重启要求
应用此修补程序后,无需重启计算机。
修补程序替换信息
此修补程序不会替换以前发布的修补程序。
文件信息
此修补程序的英语(美国)版本将安装具有下表所列属性的文件。 这些文件的日期和时间按协调世界时 (UTC) 列出。 这些文件在本地计算机上显示的日期和时间是本地时间再加上当前夏令时 (DST) 偏差。 此外,对这些文件执行某些操作时,日期和时间可能会更改。
System Center Configuration Manager 2007 SP1 文件信息
|
File name |
文件版本 |
文件大小 |
日期 |
Time |
Platform |
|---|---|---|---|---|---|
|
Ccmcertfix.exe |
4.0.6221.1193 |
17,768 |
2008 年 12 月 1 日 |
01:40 |
x86 |
|
Ccmgencert.dll |
4.0.6221.1193 |
130,408 |
2008 年 12 月 1 日 |
01:40 |
x86 |
|
Ccmsetup-sup.cab |
暂缺 |
257,833 |
2008 年 12 月 1 日 |
01:40 |
暂缺 |
|
Ccmsetup.exe |
4.0.6221.1193 |
609,128 |
2008 年 12 月 1 日 |
01:40 |
x86 |
|
Ccmsetup.msi |
暂缺 |
1,662,464 |
2008 年 12 月 1 日 |
01:40 |
不适用 |
|
Mcs.msi |
不适用 |
7,312,896 |
2008 年 12 月 1 日 |
01:40 |
不适用 |
|
Mcsisapip.dll |
4.0.6221.1193 |
205,672 |
2008 年 12 月 1 日 |
01:40 |
x86 |
|
Mp.msi |
暂缺 |
9,515,520 |
2008 年 12 月 1 日 |
01:40 |
不适用 |
|
Sccm2007ac-sp1-kb977203-x86.msp |
不适用 |
3,076,096 |
2008 年 12 月 1 日 |
01:40 |
暂缺 |
|
Smpmgr.dll |
4.0.6221.1193 |
85,864 |
2008 年 12 月 1 日 |
01:40 |
x86 |
|
Ccmgencert.dll |
4.0.6221.1193 |
649,576 |
2008 年 12 月 1 日 |
01:40 |
IA-64 |
|
Ccmgencert.dll |
4.0.6221.1193 |
285,032 |
2008 年 12 月 1 日 |
01:40 |
x64 |
|
Mcsisapip.dll |
4.0.6221.1193 |
480,616 |
2008 年 12 月 1 日 |
01:40 |
x64 |
System Center Configuration Manager 2007 SP2 文件信息
|
File name |
文件版本 |
文件大小 |
日期 |
Time |
Platform |
|---|---|---|---|---|---|
|
Ccmcertfix.exe |
4.0.6487.2111 |
17,768 |
2010 年 1 月 25 日 |
06:27 |
x86 |
|
Ccmgencert.dll |
4.0.6487.2111 |
130,408 |
2010 年 1 月 25 日 |
06:27 |
x86 |
|
Ccmsetup-sup.cab |
暂缺 |
253,016 |
2009 年 12 月 10 日 |
3:40 |
暂缺 |
|
Ccmsetup.exe |
4.0.6487.2111 |
611,688 |
2010 年 1 月 25 日 |
06:27 |
x86 |
|
Ccmsetup.msi |
暂缺 |
1,662,976 |
2010 年 1 月 25 日 |
06:27 |
暂缺 |
|
Mcs.msi |
不适用 |
7,204,864 |
2010 年 1 月 25 日 |
06:28 |
暂缺 |
|
Mcsisapip.dll |
4.0.6487.2111 |
206,696 |
2010 年 1 月 25 日 |
06:28 |
x86 |
|
Mp.msi |
暂缺 |
9,180,672 |
2010 年 1 月 25 日 |
06:28 |
暂缺 |
|
Sccm2007ac-sp2-kb977203-x86.msp |
不适用 |
444,928 |
2010 年 1 月 25 日 |
06:28 |
暂缺 |
|
Smpmgr.dll |
4.0.6487.2111 |
86,376 |
2010 年 1 月 25 日 |
06:28 |
x86 |
|
Ccmgencert.dll |
4.0.6487.2111 |
649,576 |
2010 年 1 月 25 日 |
06:28 |
IA-64 |
|
Ccmgencert.dll |
4.0.6487.2111 |
285,032 |
2010 年 1 月 25 日 |
06:29 |
x64 |
|
Mcsisapip.dll |
4.0.6487.2111 |
481,640 |
2010 年 1 月 25 日 |
06:29 |
x64 |
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
更多信息
客户端安装属性
如果在安装 System Center Configuration Manager 2007 SP1 客户端或 System Center Configuration Manager 2007 SP2 客户端时指定了客户端推送安装属性,则在安装修补程序时必须再次指定该属性。 如果在安装修补程序时未再次指定该属性,则会从配置中删除该属性。 例如,如果使用服务器定位器点 (SMSSLP) 或 FSP) 属性 (回退状态点修改了原始安装,则在安装修补程序时必须再次指定该属性。
如何使用CCMCertFix.exe实用工具
CCMCertFix 实用工具是一个命令提示符实用工具,无需 (开关) 选项即可运行。 但是,必须使用管理权限来运行它。 CCMCertFix.exe文件安装在以下位置:
sms root\logs\KB977203Note 可以将错误重定向到特定日志文件。 例如,假定日志文件的文件名是 CCMCertFix.log。 在此方案中,可以运行以下命令:
CCMCertFix.exe CCMCertFix.log
有关CCMCertFix.exe实用工具的部署信息
CCMCertFix 实用工具可以作为Configuration Manager程序分发。 例如,假设使用以下设置将实用工具分发为Configuration Manager程序:
-
运行:隐藏
-
运行是否登录用户
-
使用管理权限运行
可以根据环境和业务需求更改这些程序设置。请注意,必须使用管理权限运行 CCMCertFix 实用工具。有关安全更新974571的详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:
974571 MS09-056 :CryptoAPI 中的漏洞可能允许欺骗有关软件更新术语的详细信息,请单击以下文章号以查看 Microsoft 知识库中的文章:
824684用于描述 Microsoft 软件更新的标准术语说明 Microsoft 知识库文章中所述的修补程序997384取代并包含此修补程序。 因此,安装该修补程序后无法安装此修补程序。 但是,CCMCertFix.exe实用工具不包括在该修补程序中。 若要在安装该修补程序后获取CCMCertFix.exe实用工具,请下载此修补程序中所述的修补程序,然后运行以下命令来提取修补程序的内容:
msiexec.exe /a SCCM2007-SP2-KB977203-ENU.msi /qb targetdir=Path_To_Extract_ToNotes
-
在此命令中,占位符 Path_To_Extract_To 表示应提取修补程序内容的位置。 提取CCMCertFix.exe实用工具后,可以在此位置找到实用工具。
-
此命令中.msi文件的名称可能不同,具体取决于下载的本地化版本。 检查已下载的.msi文件的名称,并在必要时相应地更改命令行。
在任务序列中安装 KB977203
对于操作系统部署,必须在安装Windows和 ConfigMgr 任务中的 ConfigMgr 2007 OSD 任务序列期间安装 KB977203 修补程序。 否则,在执行任务序列时,问题将继续发生。 无法使用“安装软件”任务安装修补程序。 这样做将导致 ConfigMgr 2007 客户端服务停止,这将导致任务序列失败。 请注意,如果在任务序列期间安装 Knolwedge Base 文章中所述的客户端更新977384,则不需要也安装此客户端更新,因为此更新包含在该更新中。若要在 ConfigMgr 2007 OSD 任务序列中安装 KB977203 修补程序,请使用以下 Microsoft 知识库文章中所述的 PATCH= 选项:
907423 如何在首次安装 System Management Server 2003 高级客户端时包括更新,以便在 ConfigMgr 2007 OSD 任务序列中安装 KB977203 修补程序,请执行以下步骤:
-
在站点服务器上应用修补程序。
-
在站点服务器上应用修补程序后,ConfigMgr 2007 客户端安装文件将更新为在 ConfigMgr 2007 客户端安装文件的目录 \i386\hotfix\KB977203\ 中包含 KB977203 修补程序。 由于 ConfigMgr 2007 客户端安装文件已更新,因此请确保更新 ConfigMgr 2007 客户端安装包所在的分发点。
-
右键单击需要更改的任务序列,然后单击 “编辑”。
-
单击 “设置”窗口和 ConfigMgr。
-
在 “安装属性 ”框中,键入以下内容:对于 ConfigMgr 2007 SP1:
PATCH=“C:\_SMSTaskSequence\OSD\<Package_ID>\i386\hotfix\KB977203\SCCM2007AC-SP1-KB977203-x86.msp”For ConfigMgr 2007 SP2:
PATCH=“C:\_SMSTaskSequence\OSD\<Package_ID>\i386\hotfix\KB977203\SCCM2007AC-SP2-KB977203-x86.msp”Notes
-
<Package_ID>占位符是 ConfigMgr 2007 中 ConfigMgr 2007 客户端安装包的包 ID。
-
请确保将引号作为路径的一部分包含。 但是,不要包含占位符周围的括号。
-
确保使用了 ConfigMgr 2007 客户端安装包的包 ID,而不是 KB977203 修补程序包的包 ID。
-
_SMSTaskSequence缓存文件夹将驻留在磁盘空间最大的驱动器上。 如果计算机具有多个驱动器或分区,则_SMSTaskSequence文件夹可能最终位于驱动器 C 以外的驱动器上。在此方案中,将路径更改为指向包含_SMSTaskSequence文件夹的驱动器。 我们不建议在路径中使用变量_SMSTSMDataPath,因为此路径中的驱动器号在 Windows PE 中的枚举方式可能不同于整个Windows操作系统中的枚举方式。
-
作为使用指向位于本地任务序列缓存中的 ConfigMgr 2007 客户端安装文件的本地路径的替代方法,可以指定指向原始包源或分发点上的 ConfigMgr 2007 客户端安装文件的 UNC 路径。
-
验证位于 ConfigMgr 2007 客户端安装文件的 \i386\hotfix\KB977203\ 目录中的 .msp 文件的名称。 名称可能因区域设置而异。 如果名称不同于此步骤中 PATCH= 命令行中使用的 .msp 文件名的名称,请相应地调整名称。
-
-
单击“ 应用 ”或 “确定 ”保存任务序列。
除了在任务序列期间安装 KB977203 修补程序外,还必须运行CCMCertFix.exe。 运行CCMCertFix.exe取决于 (替换或刷新或新计算机) 发生的部署方案。 以下步骤演示如何针对所有部署方案运行CCMCerFix.exe。
-
使用正常软件分发通过使用 KB977203 中的CCMCertFix.exe实用工具创建包和程序。 程序不必有任何开关,只需直接运行CCMCertFix.exe。 创建包和程序后,请确保将包放在分发点上。
-
右键单击受影响的任务序列,然后选择 “属性”。
-
单击“ 高级 ”选项卡。
-
首先单击“ 运行其他程序”选项,然后从步骤 1 中选择包和程序。
-
单击“确定”。
-
右键单击受影响的任务序列,然后选择 “编辑”。
-
单击“设置Windows和 ConfigMgr 任务。
-
选中安装Windows和 ConfigMgr 任务后,单击“添加”菜单,然后选择“常规”-->“安装软件”。
-
单击新创建的安装软件任务,然后从步骤 1 中选择包和程序。
-
由于新创建的安装软件任务仍处于选中状态,请单击 “添加 ”菜单,然后选择 “常规 ”--> “重启计算机”。
-
单击新创建的重启计算机任务,然后选择 “当前安装的默认操作系统”选项。 此外,在重启之前,请清除“ 通知用户”选项。
-
单击 “确定 ”或 “应用 ”以保存任务序列。
请注意,对于替换方案,只需对捕获原始计算机上的数据的任务序列执行步骤 1 到 5。 对于在新计算机上还原数据的任务序列,请执行所有步骤。