在 SCCM 2007 中创建一份报告,显示没有软件的服务器

在 SCCM 2007 中创建一份报告,显示没有软件的服务器

是否有人有查询显示没有选定软件的服务器列表?即 SCOM 代理、防病毒软件、备份代理。

答案1

这个基本的 SQL 将显示所有没有安装匹配软件的计算机forefront

SELECT ResourceID, Name0, SMS_Unique_Identifier0
FROM v_R_System
WHERE ResourceID NOT IN
(
  SELECT ResourceID
  FROM v_GS_INSTALLED_SOFTWARE
  WHERE ProductName0 LIKE '%forefront%'
)

您可以将其替换forefront为您感兴趣的软件名称。

这个想法是编写一个查询,它将为你提供所有计算机安装软件,然后使用NOT IN它来扭转局面,让计算机已安装该软件。

这里再次显示了它,但是在 WQL 中用于查询:

SELECT SMS_R_System.Name
FROM SMS_R_System
WHERE SMS_R_System.ResourceId NOT IN
(
  SELECT SMS_G_System_Installed_Software.ResourceId
  FROM SMS_G_System_Installed_Software
  WHERE SMS_G_System_Installed_Software.ProductName LIKE "%forefront%"
)

答案2

我发现使用 ARP 更准确:

    select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client 
    from SMS_R_System 
    where SMS_R_System.ResourceId not in 
    (
select SMS_R_System.ResourceId from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName LIKE "%<Application Name>%"
    ) 
    and SMS_R_System.Client = 1 
    and SMS_R_SYSTEM.OperatingSystemNameAndVersion like 'Microsoft Windows NT%Server%'

相关内容