如何清理重复的计算机系统管理服务器中的 Id


概要


本文介绍如何查找和清理 Microsoft 系统管理服务器 2.0 和 Microsoft 系统管理服务器 2003年客户端使用相同的唯一标识符。系统管理服务器的唯一 ID属性用于区分系统管理服务器的客户端。请务必为每个客户端,此值保持唯一。


如果您"克隆"工作站上安装了系统管理服务器客户端,或如果您从以前的系统管理服务器客户端安装的残余 (如 Sms.ini 或 Smscfg.ini 文件),您可能必须在您的环境中重复的 Id。


重复的 Id 可能会导致高的中央处理单元 (CPU) 使用率、 不正确的库存报告、 错误的客户端,和其他意外的事件运行的广告的行为。为了避免这些行为,务必清理重复 Id 越早越好如果遇到它们。

详细信息


若要确定您是否有重复的 Id,创建基于以下示例查询的系统管理服务器查询:
选择 * 从作为 g INNER JOIN 作为上 g.ResourceId h sms_gh_system_SYSTEM sms_g_system_SYSTEM = h.ResourceId,g.Name <> h.Name
运行此查询时,您将看到所有不同的计算机名称,使用相同的 id。请注意,多重启动客户端或已重命名也显示为重复项。查找重复项后,将分配到这些工作站新的 ID。

您还可以对 SMS 站点数据库的 SQL 查询分析器中运行下面的查询:
select all g.Domain0,g.InstanceKey,g.Name0,g.MachineID,g.RevisionID,g.SMSID0,g.SystemRole0,g.SystemType0,g.TimeKey,h.Domain0,h.InstanceKey,h.Name0,h.MachineID,h.RevisionID,h.SMSID0,h.SystemRole0,h.SystemType0,h.TimeKey fromSystem_DATA AS g 内部联接 System_HIST AS g.MachineID 上 h = h.MachineID,g.Name0 <> h.Name0
运行此查询时,您将看到所有不同的计算机名称,使用相同的 id。请注意,多重启动客户端或已重命名也显示为重复项。

查找重复项后,将分配到这些工作站新的 ID。有两种方法,用于向客户端分配新的 ID。

手动方法

来手动清除客户端,请运行 20clicln.bat 文件来卸载系统管理服务器的客户端。完成此过程后,请删除 Sms.ini 或 Smscfg.ini 文件在工作站上的任何实例。完成此步骤后,重新安装客户端,通过正常的安装方法。将向客户端分配新的 ID。BR / >
可以通过命令行开关的/清理/删除 Smscfg.ini 文件,并启用新的 GUID 创建运行的版本的 20CliCln.bat,可以下载 SP2 支持工具的一部分。它不会删除留下的 SMS 1.2 客户端 Sms.ini。


软件分发方法

如果您有多台计算机需要一个新的系统管理服务器 ID,您可以使用 Microsoft BackOffice 资源工具包 4.5 Newuid.exe 实用程序。通过使用Newuid.exe /s命令,这将导致以静默方式运行此实用程序实用程序创建一个包。您需要创建一个集合,其中包含所有的工作站的有重复的 id。使用下面的示例查询所基于的查询:
从作为 r SMS_R_System,为 h SMS_GH_System_SYSTEM,SMS_G_System_SYSTEM g 作为选择不同的 r.Name、 r.OperatingSystemNameandVersion、 r.ResourceDomainORWorkgroup、 r.LastLogonUserDomain、 r.LastLogonUserName、 r.SMSUniqueIdentifier、 r.ResourceId其中 g.ResourceID = h.ResourceID 和 g.Name <> h.Name,r.ResourceID = g.ResourceID
请确保删除查询任何回车之前将其粘贴到编辑查询窗口中为此集合。如果不删除回车,由于不正确的语法而不保存查询。


有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

234262将查询链接到某个集合成员资格规则可能不起作用

创建此集合后,可能无法看到相同的客户端数,就像在第一个查询中。这是因为此查询返回唯一列表重复 id。公布的 Newuid.exe 包到此集合后,运行该程序,因为这些工作站所有以前的查询中的所有客户端共享相同的 Id (相同的全局唯一标识符或 Guid)。


运行 Newuid.exe 时,使用Newuid.exe /s / 分配命令使客户端能够获取新的标识和保留客户端的功能。/S开关会导致运行无提示安装。

注意:当使用/ 分配开关时,Newuid.exe 尝试登录点从运行 Smsboot1.exe。访问登录点要求用户进行登录。如果没有用户登录,删除存在的 GUID,但直到 Smsls.bat 未分配一个新的 GUID 或执行 Smsman.exe。


注意:您不会收到确认客户端已经成功运行该程序,如果您不使用/ 分配开关。之前在客户端运行 Smsls.bat 或 Smsman.exe 或已通过 Microsoft Windows NT 远程客户端重新安装客户端访问的所有客户端通信没有分配 /开关运行 Newuid.exe 后,点 (CAP) 停止安装。客户端功能不会返回,直到客户端已使用这些安装方法的一个未分配新的 ID。


您必须清除重复的 Id 后,清除库存历史记录在您的数据库中。使用系统管理服务器控制台中删除过时的库存历史任务在数据库维护任务下删除一天以前的所有历史记录。可以将此值设置返回到其以前的值后,您可以将所有您的客户端清单后,并让您验证您的环境中是没有更多的重复项。

通过更改数据库维护任务的设置,可能会删除一天以前数据库中的所有数据。这是在许多情况下,但是,如果您仅有少量库存重复的这可能不是适当的。

在这种情况下,使用了白皮书,管理重复的 Microsoft 系统管理服务器的唯一标识符,它可以提供更好的解决方案。注意:本文讨论了仅删除重复的计算机,而不是整个数据库的历史记录信息的过程。