我正在尝试构建自定义 SCCM 报告,并且需要那些在数据库结构方面比我更有经验的人的帮助。
我想列出的是:
- 设备收集
- 设备
- 软件更新组
- 设备
这个想法是能够根据设备集合运行报告,然后让该报告显示该集合中每个设备部署到该设备的每个软件更新组的合规性状态。
如果已有我尚未找到的报告,请告诉我,但如果您能帮助我找出必须加入哪些表/视图才能获取此信息,我将不胜感激。
现在我正在控制台中进行监控、部署,然后针对每个部署检查哪些机器是兼容的等等。这有点与我所寻找的相反,并且更耗时,特别是当我在寻找特定机器是否完全更新时。
答案1
我设法弄清楚了查询。这有点粗糙,但对于其他尝试做同样事情的人来说,它很有用:
SELECT d.CollectionID, d.CollectionName, m.Name, m.ResourceID, a.AssignmentName, a.AssignmentID, s.TopicType, s.StateID, n.StateDescription, s.StateTime
FROM v_DeploymentSummary d
inner join vCI_CIAssignments a on d.AssignmentID = a.AssignmentID
inner join v_ClientCollectionMembers m on m.CollectionID = d.CollectionID
left join (select * from v_AssignmentStatePerTopic where StateID = 1) s on a.AssignmentID = s.AssignmentID and m.ResourceID = s.ResourceID
left join v_StateNames n on s.TopicType = n.TopicType and s.StateID = n.StateID
where d.CollectionName like '%windows server 2008 r2 - ga'
order by m.name, a.AssignmentName, d.CollectionName,s.AssignmentID
我找到了这篇文章System Center 2012 Configuration Manager 中的 SQL Server 视图这很有帮助,但仍然需要进行大量的挖掘和反复试验。