Sample Queries for Software Updates in Configuration Manager
Updated: January 1, 2014
Applies To: System Center 2012 Configuration Manager, System Center 2012 Configuration Manager SP1, System Center 2012 R2 Configuration Manager
The following sample queries demonstrate how to join software updates views to each other and to views from other view categories. Software updates views will most often use the CI_ID column when joining to other views.
Joining Software Updates, Discovery, and Status Views
The following query retrieves the article ID, bulletin ID, software update title, last enforcement state for the update, the time of the last enforcement check, and the time that the last enforcement state message was sent by the Computer1 client. The results are sorted by state name and then by the last modified date for the software update. The query joins the v_UpdateComplianceStatus status view with the v_UpdateInfo software updates view by using the CI_ID column, the v_UpdateComplianceStatus status view with the v_R_System discovery view by using the ResourceID column, and the v_UpdateComplianceStatus status view with the v_StateNames status view by using the LastEnforcementStatus and StateID columns, respectively. The retrieved information is filtered by the topic type of 402, which includes state messages for configuration item enforcement, and a computer with the NetBIOS name of Computer1.
SELECT v_UpdateInfo.ArticleID, v_UpdateInfo.BulletinID, v_UpdateInfo.Title,
v_StateNames.StateName, v_UpdateComplianceStatus.LastStatusCheckTime,
v_UpdateComplianceStatus.LastEnforcementMessageTime
FROM v_R_System INNER JOIN v_UpdateComplianceStatus ON
v_R_System.ResourceID = v_UpdateComplianceStatus.ResourceID INNER JOIN v_UpdateInfo ON
v_UpdateComplianceStatus.CI_ID = v_UpdateInfo.CI_ID INNER JOIN v_StateNames ON
v_UpdateComplianceStatus.LastEnforcementMessageID = v_StateNames.StateID
WHERE (v_StateNames.TopicType = 402) AND (v_R_System.Netbios_Name0 LIKE 'Computer1')
ORDER BY v_StateNames.StateName, v_UpdateInfo.DateLastModified
Joining Software Updates and Compliance Settings Views
The following query retrieves the software update deployments, by assignment ID (software update deployment ID) and assignment name (deployment name); the software updates that are contained in the deployment, by article ID, bulletin ID, and software update title; and the target collection for the deployment. The results are sorted by the assignment ID and then by article ID. The query joins the v_UpdateInfo software updates view with the v_CIAssignmentToCI compliance settings view by using the CI_ID column, and it joins the v_CIAssignmentToCI view to the v_CIAssignment compliance settings view by using the AssignmentID column.
SELECT v_CIAssignment.AssignmentID, v_CIAssignment.AssignmentName,
v_UpdateInfo.ArticleID, v_UpdateInfo.BulletinID, v_UpdateInfo.Title,
v_CIAssignment.CollectionName, v_CIAssignment.CollectionID
FROM v_UpdateInfo INNER JOIN v_CIAssignmentToCI ON
v_UpdateInfo.CI_ID = v_CIAssignmentToCI.CI_ID INNER JOIN v_CIAssignment ON
v_CIAssignmentToCI.AssignmentID = v_CIAssignment.AssignmentID
ORDER BY v_CIAssignment.AssignmentID, v_UpdateInfo.ArticleID
Joining Software Updates, Compliance Settings, and Application Management Views
The following query retrieves the software updates that have been downloaded, by article ID, the software update title, deployment package ID, deployment package name, and the path to the package source files. The results are sorted by software update article ID. The query joins the v_UpdateInfo software updates view to the v_BundledConfigurationItems view by using the CI_ID column. The v_BundledConfigurationItems compliance settings view is joined with the v_UpdatePrograms software updates view by using the BundledCI_ID and UpdateID columns, respectively. The v_UpdatePrograms view is joined with the v_Package software distribution view by using the PackageID column. Because the v_UpdateInfo view contains the configuration item ID for software updates bundles or stand-alone software updates, but the v_UpdatePrograms view contains the configuration item ID for software updates that are part of a bundle or stand-alone software updates that have content associated with them, the v_UpdateContents view was needed to link the two. For example, a software update bundle might have a configuration item ID of 100, and the English version of the software update that is downloaded might have a configuration item ID of 99. The v_UpdateInfo view would contain configuration item ID 100 for the bundle, the v_UpdatePrograms view would contain configuration item ID 99 for the downloaded software update, and the v_UpdateContents would contain both configuration item IDs for the bundle and associated software update.
SELECT v_UpdateInfo.ArticleID, v_UpdateInfo.Title, v_Package.PackageID,
v_Package.Name AS [Package Name], v_Package.PkgSourcePath
FROM v_UpdateInfo INNER JOIN v_UpdateContents ON
v_UpdateInfo.CI_ID = v_UpdateContents.CI_ID INNER JOIN v_UpdatePrograms ON
v_UpdateContents.ContentCI_ID = v_UpdatePrograms.UpdateID INNER JOIN v_Package ON
v_UpdatePrograms.PackageID = v_Package.PackageID
ORDER BY v_UpdateInfo.ArticleID