我们有一个非常基本的 SCCM 设置,一个单服务器主站点为 26 台 Windows Server 2012 服务器和大约 450 台 Windows 10 桌面提供服务。
当 PXE 启动某些设备(但不是全部)时,我们遇到了一个奇怪的问题,其中一个从未通过 PXE 启动到网络的设备尝试进行 PXE 启动并在 SMSPXE.log 中得到以下响应:
Request using architecture 9. SMSPXE 02/09/2016 12:52:11 4076 (0x0FEC)
Client boot action reply: <ClientIDReply><Identification Unknown="0" ItemKey="16777850" ServerName=""><Machine><ClientID/><NetbiosName/></Machine></Identification><PXEBootAction LastPXEAdvertisementID="" LastPXEAdvertisementTime="" OfferID="" OfferIDTime="" PkgID="" PackageVersion="" PackagePath="" BootImageID="" Mandatory=""/></ClientIDReply>
SMSPXE 02/09/2016 12:52:11 4076 (0x0FEC)
Request retry. SMSPXE 02/09/2016 12:52:11 4076 (0x0FEC)
Client boot action reply: <ClientIDReply><Identification Unknown="0" ItemKey="16777850" ServerName=""><Machine><ClientID/><NetbiosName/></Machine></Identification><PXEBootAction LastPXEAdvertisementID="" LastPXEAdvertisementTime="" OfferID="" OfferIDTime="" PkgID="" PackageVersion="" PackagePath="" BootImageID="" Mandatory=""/></ClientIDReply>
SMSPXE 02/09/2016 12:52:11 4076 (0x0FEC)
90:2B:34:77:96:EC, 03000200-0400-0500-0006-000700080009: no advertisements found SMSPXE 02/09/2016 12:52:11 4076 (0x0FEC)
我的理解是,请求失败是因为 SCCM 数据库已经知道该设备,所以它不属于“未知计算机”,因此没有针对它的 PXE 部署。
但是,日志片段(16777850)中的 ItemKey 是完全不同的设备的 Itemkey,该设备已经成功通过 PXE 启动并安装其操作系统和应用程序。
读了一点资料后,我们只找到了几个解决方法,而不是正确的解决方案。对我们有用的解决方法是删除 SCCM 中新机器的请求似乎与之混淆的现有机器,清除现有计算机所在集合上的 PXE 部署,然后重试。
在 10 次中有 9 次,这种方法都可以正常工作,但在 10 次中有 1 次,它会将新计算机与另一台现有的 ItemKey 和计算机连接起来,而那台计算机也必须被移除。
这确实令人困惑,我不明白 SCCM 从未见过的计算机如何可以存在于其数据库中但却与完全不同的计算机相关联。
如果任何一位 SCCM 专家能够为我指明正确的方向,我将不胜感激。
干杯,凯文。
答案1
当机器 PXE 启动时,它会检查设备是否有 Mac 地址或 SMBIOS GUID。一种可能性是您正在重复使用相同的 NIC(可以是底座、USB 转以太网适配器)。由于您已经将 NIC 用于 PXE,因此它将被记录在数据库中,无法再次使用。微软已经发布了一篇博客,请参阅这里附有详细的解释和解决方法。