刷新ConfigMgr 2007二级站点的软件包失败

文章作者 Yan Cui】

我们在尝试为ConfigMgr 2007 辅助站点(Secondary Site)的DP刷新包时都会在distmgr.log中看到以下错误:

The compressed files for package <package ID> hasn't arrived from site <Site Code> yet, will retry later.

但有趣的是,你能看到PCK文件和PKG文件都已经从父站点复制了。

*.PKG ->%SCCM_Install_DIR%\inboxes. Box\distmgr.box\<PackageID>.PKG

*.PCK ->本地压缩包的存储位置: SMSPKG\<PackageID>.PCK

如果你在ConfigMgr 2007辅助站点上看到这个,你可能遇到了*.PKG文件问题。为了能给你更好的展示这个问题,让我们先了解下SCCM辅助站点上的包刷新过程

步骤1:当上层站点发生刷新时,一个PKG文件会通过站点间通信(site-site commutation)发送给子辅助站点。在inboxes\distmgr.box\incoming\ 文件夹中,分发管理器(Distribute Manager)会把这个文件命名为如<随即ID>.PKG。

在这一阶段,这个PKG文件包含了一个指向PCK文件(或父站点PKG文件)的路径

步骤2.分发管理器获得这个PKG文件,路径会被替换成空值,或被存在inboxes\distmgr.box\ 下的<packageID>.PKG文件中的本地PCK存储路径替换掉

这个案例的问题是辅助站点的 DP不能找到inboxes\distmagr.box 下<PackageID>.PKG中的这个地址。这就是日志中错误的原因。

The compressed files for package <package ID> hasn't arrived from site <SiteCode> yet, will retry later.

*如上图所示,在站点代码后的字段中,没有包含指向PCK文件的UNC路径。

好了,我们快接近本问题真正的原因了,让我们看下解决方案吧:

1. 在你的辅助站点上,停止SMS组件服

2. 停止SMS_Executive服务

 3. 在软件包创建的源站点上,为这个辅助站点执行刷新DP的操作.

4. 在辅助站点上,复制inboxes\distrmgr.box\incoming\ 下的<PKGID>.PKG文件(备份此文件)

5. 现在我们使用支持二进制编辑的编辑器(例如Ultra Edit)打开存在问题的PKG文件(inboxes\distrmgr.box\<PKGID>.Pkg)

6. 在编辑器中查找Site Code.

7. 在Site code后留下0(十六进制为0x00)

8. 在0x00后输入PCK共享地址的位置”UNC共享”.

9. 保存变化,并替换掉inboxes\distrmgr.box\下的<PackageID>.Pkg文件

10. 重新启动SMS组件服务

11. 将分发管理器设置回运行态

12. 观察distmgr.log文件,确认PCK文件被解压了。

 

另外,我还想说一下,在辅助站点中,<PackageID>.Pkg文件一直放在 inboxes\distrmgr.box\中,这是正常行为。但这一过程在主站点上DP是不同的,过程完成后,你无法在主站点的inboxes\distrmgr.box\ 中找到PKG文件

[本博文仅供参考,微软公司对其内容不作任何责任担保或权利赋予]