The following sample queries demonstrate how to join Configuration Manager 2007 desired configuration management views to each other and to views from other view categories. Desired configuration management views will most often use the CI_ID, AssignmentID, and ResourceID columns when joining to other views.
Joining Desired Configuration Management and Software Updates Views
The following query retrieves all configuration items with the type of Software Updates (CIType_ID = 1) or Software Updates Bundle (CIType_ID = 8) that have been deployed to clients (IsDeployed =1), listing the article ID, software update name, and software update description. The results are sorted in descending order by article ID. The query joins the v_ConfigurationItems and v_CITypes desired configuration management views by using the CIType_ID column, joins the v_ConfigurationItems and v_LocalizedCIProperties desired configuration management views by using the CI_ID column, and joins the v_ConfigurationItems view with the v_UpdateInfo software updates view by using the CI_ID column.
SELECT v_UpdateInfo.ArticleID,
v_LocalizedCIProperties.DisplayName,
v_LocalizedCIProperties.Description
FROM v_ConfigurationItems INNER JOIN v_CITypes ON
v_ConfigurationItems.CIType_ID = v_CITypes.CIType_ID
INNER JOIN v_LocalizedCIProperties ON
v_ConfigurationItems.CI_ID = v_LocalizedCIProperties.CI_ID
INNER JOIN v_UpdateInfo ON
v_ConfigurationItems.CI_ID = v_UpdateInfo.CI_ID
WHERE (v_CITypes.CIType_ID = 1 OR
v_CITypes.CIType_ID = 8) AND (v_ConfigurationItems.IsDeployed =
1)
ORDER BY v_UpdateInfo.ArticleID DESC
Joining Desired Configuration Management, Status, and Discovery Views
The following query retrieves the configuration baselines that have been evaluated on clients, the configuration baseline description, a list of the clients that have a non-compliant state for the configuration baseline, the IP address for the client, and the date and time for the last compliance state message. The results are sorted by configuration baseline name and then computer name. The query joins the v_CIComplianceStatusDetail status message with the v_RA_System_IPAddresses discovery view by using the ResourceID column, and it joins the v_CI_ComplianceStatusDetail view with the v_LocalizedCIProperties desired configuration management view by using the CI_ID column. A filter could be added to the query to specify the client computer or the configuration baseline to reduce the query results.
SELECT DISTINCT
v_LocalizedCIProperties.DisplayName AS [Baseline Name],
v_LocalizedCIProperties.Description
AS [Baseline Description],
v_CIComplianceStatusDetail.Netbios_Name0 AS
[Computer Name],
v_RA_System_IPAddresses.IP_Addresses0
AS [IP Address], v_CIComplianceStatusDetail.Severity,
v_CIComplianceStatusDetail.LastComplianceMessageTime
AS [Last Compliance Message]
FROM v_CIComplianceStatusDetail INNER JOIN
v_RA_System_IPAddresses ON
v_CIComplianceStatusDetail.ResourceID
= v_RA_System_IPAddresses.ResourceID
INNER JOIN v_LocalizedCIProperties ON
v_CIComplianceStatusDetail.CI_ID =
v_LocalizedCIProperties.CI_ID
ORDER BY [Baseline Name], [Computer Name]
Joining Desired Configuration Management, Status, and Discovery Views
The following query retrieves the names of computers that have been targeted for an assignment, the configuration item name assigned to the computer, the compliance state for the item, the assignment name that contains the item, and the target collection for the assignment. The results are sorted by the compliance state, assigned item, and then computer name. The query joins the v_CICurrentComplianceStatus status view to the v_CIAssignmentToCI desired configuration management view by using the CI_ID column; joins the v_CIAssignment and v_CIAssignmentToCI desired configuration management views by using the AssignmentID column; joins the v_LocalizedCIProperties desired configuration management view to the v_CICurrentComplianceStatus view by using the CI_ID column; joins the v_StateNames and v_CICurrentComplianceStatus status views by using the StateID and ComplianceState columns, respectively; and joins the v_R_System discovery view to the v_CICurrentComplianceStatus view by using the ResourceID column. The retrieved information is filtered by the topic type of 401, which includes state messages for configuration item compliance.
SELECT v_R_System.Netbios_Name0 AS [Computer
Name], v_LocalizedCIProperties.DisplayName AS [Assigned
Item],
v_StateNames.StateName,
v_CIAssignment.AssignmentName, v_CIAssignment.CollectionID
FROM v_CICurrentComplianceStatus
INNER JOIN v_CIAssignmentToCI ON
v_CICurrentComplianceStatus.CI_ID = v_CIAssignmentToCI.CI_ID
INNER JOIN v_CIAssignment ON
v_CIAssignmentToCI.AssignmentID =
v_CIAssignment.AssignmentID
INNER JOIN v_LocalizedCIProperties ON
v_CICurrentComplianceStatus.CI_ID =
v_LocalizedCIProperties.CI_ID
INNER JOIN v_StateNames ON
v_CICurrentComplianceStatus.ComplianceState =
v_StateNames.StateID
INNER JOIN v_R_System ON
v_CICurrentComplianceStatus.ResourceID =
v_R_System.ResourceID
WHERE (v_StateNames.TopicType = 401)
ORDER BY v_StateNames.StateName, [Assigned Item],
[Computer Name]