当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 修复 SCCM 客户端站点代码发现失败的问题

作者:精品下载站 日期:2024-12-14 11:19:47 浏览:14 分类:玩电脑

修复 SCCM 客户端站点代码发现失败的问题


在这篇文章中,我将介绍 SCCM 客户端站点代码发现不成功的情况。我最近帮助一位 IT 人员解决了 SCCM 客户端代理无法发现站点代码的问题。手动输入 SCCM 客户端站点代码并单击查找站点显示配置管理器未找到管理此客户端的站点。

我必须首先查明这是所有 SCCM 客户端代理的问题还是只是一个问题。据此人称,SCCM 客户端站点代码发现在所有计算机上均不成功。最后当我请他介绍一下 SCCM 设置的背景时,他透露了这一点。

所以这个人之前已经使用不同的 SCCM 客户端站点代码设置了 SCCM。它是一个主站点,管理点和分发点角色在同一服务器上运行。他在同一台计算机上安装了 SQL 2016,其中包含 Configuration Manager DB。

不知何故,他发现一切运行不佳,因此决定卸载 SCCM。这才是真正出错的地方。他没有正确卸载 SCCM,而是删除了运行 SCCM 的虚拟机。客户端代理仍然存在于计算机上,无法联系管理点。

几天后,他创建了另一个 VM 并安装了 Configuration Manager 1902。这一次在安装 SCCM 时,他使用了新的站点代码,并注意到 SCCM 客户端代理没有发现站点代码。

[玩转系统] 修复 SCCM 客户端站点代码发现失败的问题

SCCM 客户端站点代码发现问题问题排查

在新的 SCCM 设置中,SCCM 客户端站点代码发现问题。我注意到客户端代理无法发现站点代码。我对 SCCM 设置进行了基本审核,一切都很好。我还将 SCCM 版本 1902 升级到了 1906。

因此,实际问题是大量 SCCM 客户端无法向主站点报告。作为故障排除的一部分,我选择了一台现有计算机并启动了客户端推送安装。安装顺利,但检查客户端属性显示类似这样的内容。

Configuration Manager 属性的“常规”选项卡将客户端证书显示为。最重要的是没有指定管理点的条目。您可以看到,在客户端属性下,没有我们通常看到的太多信息。

[玩转系统] 修复 SCCM 客户端站点代码发现失败的问题

单击组件选项卡会将大多数组件显示为“已安装”,但 CCM 通知代理状态为已禁用

[玩转系统] 修复 SCCM 客户端站点代码发现失败的问题

在“操作”选项卡下,只有 2 个操作,其余操作均缺失。

  • 机器策略检索和评估周期。
  • 用户策略检索和评估周期。

[玩转系统] 修复 SCCM 客户端站点代码发现失败的问题

SCCM 客户端日志

因此,从上述信息可以清楚地看出,SCCM 代理并未联系管理点。现在最有趣的部分是检查客户端计算机上的日志文件。您可以在此处参考所有 SCCM 日志文件以进行故障排除。

在客户端计算机上,我首先打开 ClientIDManagerStartup.log。仅记录了一个错误多次 - RegTask:无法刷新站点代码。 错误:0x8000ffff

不幸的是,您无法从上述错误消息中推断出任何信息。

[玩转系统] 修复 SCCM 客户端站点代码发现失败的问题

我在客户端计算机上打开了 LocationServices.log 文件。在这里我注意到很多错误,这些错误列在下面。

Retrieved lookup MP(s) from DNS	LocationServices
Attempting to retrieve site information from lookup MP(s)
Failed to send site information Location Request Message to server
Failed to send site information Location Request Message to server
LSIsSiteCompatible : Failed to get Site Version from all directories
Won't send a client assignment fallback status point message because the last assignment error matches this one.
Failed to execute task 'LSSiteRoleCycleTask'. Error 0x80004005
CSiteRoleCycleTask::Execute failed (0x80004005).
Failed to execute task 'LSSiteRoleCycleTask'. Error 0x80004005
CSiteRoleCycleTask::Execute failed (0x80004005).

[玩转系统] 修复 SCCM 客户端站点代码发现失败的问题

进一步向下滚动我注意到另一个错误:-

  • LSGetSiteVersionFromAD:无法检索网站“USA”的版本 (0x80004005)。
  • LSIsSiteCompatible:无法从所有目录获取站点版本
  • 不会发送客户端分配回退状态点消息,因为最后一个分配错误与此匹配。

这很有趣,因为美国是旧的站点代码,而新的站点代码是其他东西。这意味着客户端代理仍被分配到旧站点。

[玩转系统] 修复 SCCM 客户端站点代码发现失败的问题

修复 SCCM 客户端站点代码发现

因此,新设置中的客户端代理仍分配给旧设置的站点代码。换句话说,SCCM 客户端站点代码发现不成功。为了验证这一点,我检查了所有组策略对象并禁用了不需要的对象。

我还清理了 DNS 记录,以确保旧的 SCCM 站点服务器信息不存在于任何地方。

我们知道有多种方法可以将 Configuration Manager 客户端分配到站点。当您使用 Windows 组策略将客户端分配或重新分配到站点时,站点代码将存储在客户端计算机上的注册表项中。

Microsoft 不会告诉您哪个注册表项保存站点代码信息。我发现它是注册表中的GPRequestedSiteAssigmentCode

该密钥位于HKLM\SOFTWARE\Microsoft\SMS\Mobile Client下。

我注意到这个密钥包含美国旧网站的网站代码。

[玩转系统] 修复 SCCM 客户端站点代码发现失败的问题

我将 GPRequestedSiteAssigmentCode 键的值从 USA 更改为新的站点代码。

[玩转系统] 修复 SCCM 客户端站点代码发现失败的问题

进行上述更改后,我可以看到 SCCM 客户端代理站点代码发现成功。客户端代理开始与管理点通信,所有操作周期在几分钟内即可看到。

[玩转系统] 修复 SCCM 客户端站点代码发现失败的问题

我希望这篇文章可以帮助您解决 SCCM 客户端站点代码发现问题。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯