Skip to main content

SQL Reporting Services SCCM DCM

This article is dedicated to providing working examples for DCM (Desired Configuration Managment) reports, using reporting services 2008.


1. This report displays three statenames for the baseline called BL - WK DCM.  A count of Conpliance state populates the third column.

SELECT     CIProp.DisplayName AS 'DCM Baseline Name', SNames.StateName, COUNT(CCS.ComplianceState) AS 'Compliance State Count'
FROM         dbo.v_BaselineTargetedComputers AS BTC INNER JOIN
                      dbo.v_ConfigurationItems AS CI ON CI.CI_ID = BTC.CI_ID INNER JOIN
                      dbo.v_CICurrentComplianceStatus AS CCS ON CCS.CI_ID = CI.CI_ID AND CCS.ResourceID = BTC.ResourceID INNER JOIN
                      dbo.v_LocalizedCIProperties_SiteLoc AS CIProp ON CIProp.CI_ID = CI.CI_ID INNER JOIN
                      dbo.v_StateNames AS SNames ON CCS.ComplianceState = SNames.StateID
WHERE     (CIProp.DisplayName = 'BL - WK DCM') AND (SNames.TopicType = 401)
GROUP BY CIProp.DisplayName, CCS.ComplianceState, SNames.StateName


 
 
 
 
2. This report displays Computer name with corresponding last logged on username, for machines with non compliant status for specific baseline.
SELECT     TOP (100) PERCENT SYS.Name0 AS 'Computer Name', SNames.StateName AS 'Compliance State',
                      CCS.LastComplianceMessageTime AS 'Last Compliance Evaluation', SYS.User_Name0 AS 'User Name', OS.Caption0 AS 'Operating System',
                      OS.InstallDate0 AS 'Install Date', STATUS.LastHWScan AS 'Last HW Scan', COMP.Model0 AS 'Model', CIProp.DisplayName,
                      CI.CIVersion AS 'Baseline Content Version'
FROM         dbo.v_BaselineTargetedComputers AS BTC INNER JOIN
                      dbo.v_R_System AS SYS ON SYS.ResourceID = BTC.ResourceID INNER JOIN
                      dbo.v_GS_COMPUTER_SYSTEM AS COMP ON COMP.ResourceID = BTC.ResourceID INNER JOIN
                      dbo.v_GS_OPERATING_SYSTEM AS OS ON OS.ResourceID = SYS.ResourceID INNER JOIN
                      dbo.v_ConfigurationItems AS CI ON CI.CI_ID = BTC.CI_ID INNER JOIN
                      dbo.v_CICurrentComplianceStatus AS CCS ON CCS.CI_ID = CI.CI_ID AND CCS.ResourceID = BTC.ResourceID INNER JOIN
                      dbo.v_LocalizedCIProperties_SiteLoc AS CIProp ON CIProp.CI_ID = CI.CI_ID INNER JOIN
                      dbo.v_StateNames AS SNames ON CCS.ComplianceState = SNames.StateID LEFT OUTER JOIN
                      dbo.v_GS_WORKSTATION_STATUS AS STATUS ON STATUS.ResourceID = SYS.ResourceID LEFT OUTER JOIN
                      dbo.v_R_User AS USR ON USR.User_Name0 = SYS.User_Name0
WHERE     (CIProp.DisplayName = 'BL - WK DCM') AND (SNames.TopicType = 401) AND (SNames.StateName <> 'Compliant')
ORDER BY 'Compliance State'


NOTE: Change WHERE for compliant machines
WHERE     (CIProp.DisplayName = 'BL -WK DCM') AND (SNames.TopicType = 401) AND (SNames.StateName <> 'Non-Compliant') AND
                      (SNames.StateName <> 'error')


This

SELECT DISTINCT
                      TOP (100) PERCENT SYS.Name0, ccs.LastComplianceMessageTime, ccs.ComplianceStateName, dbo.v_LocalizedCIProperties_SiteLoc.DisplayName,
                      SYS.User_Name0,
                      CASE WHEN dbo.v_RA_System_SystemOUName.System_OU_Name0 LIKE '%Europe%' THEN 'EMEA' WHEN dbo.v_RA_System_SystemOUName.System_OU_Name0
                       LIKE '%Asia Pacific%' THEN 'APAC' WHEN dbo.v_RA_System_SystemOUName.System_OU_Name0 LIKE '%Brazil%' THEN 'LAC' WHEN dbo.v_RA_System_SystemOUName.System_OU_Name0
                       LIKE '%Hispanic LAC%' THEN 'LAC' WHEN dbo.v_RA_System_SystemOUName.System_OU_Name0 LIKE '%Canada%' THEN 'NA' WHEN dbo.v_RA_System_SystemOUName.System_OU_Name0
                       LIKE '%Northern%' THEN 'NA' WHEN dbo.v_RA_System_SystemOUName.System_OU_Name0 LIKE '%Southern%' THEN 'NA' WHEN dbo.v_RA_System_SystemOUName.System_OU_Name0
                       LIKE '%Western%' THEN 'NA' WHEN dbo.v_RA_System_SystemOUName.System_OU_Name0 LIKE '%Americas%' THEN 'Americas' ELSE 'MISC' END AS
                       RegionOUCodeGrouped, dbo.v_GS_OPERATING_SYSTEM.Caption0, dbo.v_GS_OPERATING_SYSTEM.InstallDate0,
                      dbo.v_GS_COMPUTER_SYSTEM.Model0
FROM         dbo.v_CICurrentComplianceStatus AS ccs INNER JOIN
                      dbo.v_R_System AS SYS ON ccs.ResourceID = SYS.ResourceID INNER JOIN
                      dbo.v_LocalizedCIProperties_SiteLoc ON ccs.CI_ID = dbo.v_LocalizedCIProperties_SiteLoc.CI_ID INNER JOIN
                      dbo.v_RA_System_SystemOUName ON SYS.ResourceID = dbo.v_RA_System_SystemOUName.ResourceID INNER JOIN
                      dbo.v_GS_OPERATING_SYSTEM ON SYS.ResourceID = dbo.v_GS_OPERATING_SYSTEM.ResourceID INNER JOIN
                      dbo.v_GS_COMPUTER_SYSTEM ON SYS.ResourceID = dbo.v_GS_COMPUTER_SYSTEM.ResourceID
WHERE     (dbo.v_LocalizedCIProperties_SiteLoc.DisplayName LIKE 'CI%') AND (ccs.ComplianceStateName = 'Compliant') AND
                      (dbo.v_RA_System_SystemOUName.System_OU_Name0 <> 'OPS.Domain.COM/AMERICAS')
ORDER BY dbo.v_LocalizedCIProperties_SiteLoc.DisplayName


 


Comments

Popular posts from this blog

SCCM Unknown computer not able to see Task Sequences after installing Current Branch 1702

Soon after installing SCCM CB 1702 we were unable to see Task Sequences deployed to the unknown collection. This issue was identified as a random system taking the GUID of the 'x64 Unknown Computer (x64 Unknown Computer)' record. As a result it was now a known GUID; as we were only deploying Task Sequences to the Unknown collection none were made available. 'x64 Unknown Computer (x64 Unknown Computer)' record 'x86 Unknown Computer (x86 Unknown Computer)' record To get the GUID of your unknown systems open SQL management studio and run the following command: --Sql Command to list the name and GUID for UnknownSystems record data select ItemKey, Name0,SMS_Unique_Identifier0 from UnknownSystem_DISC Using the returned GUID (SMS_Unique_Identifier0) we can find the hostname that has been assigned the 'x64 Unknown Computer (x64 Unknown Computer)' GUID by running the query below. --x64 Unknown Computers select Name0,SMS_Unique_Identifier0,Decommissioned0 from Sys...

KB5025885: How to manage the Windows Boot Manager revocations for Secure Boot changes associated with CVE-2023-24932

This article outlines the protection against the publicly disclosed Secure Boot security feature bypass involving the BlackLotus UEFI bootkit (CVE-2023-24932). It includes steps to enable the necessary mitigations and provides guidance on creating bootable media. I will provide: - An overview of the CVE issue. - Pre-requisite actions within ADK. - Detection and remediation scripts for CVE-2023-24932. - Instructions for creating a WinPE Boot.wim file to support systems that have undergone remediation. - A breakdown of the files changed and how to boot WinPE to support systems before remediation. 1. Secure Boot Security Feature Bypass Vulnerability CVE-2023-24932 see MSRC CVE-2023-24932 is a security vulnerability involving the BlackLotus UEFI bootkit, which allows attackers to bypass Secure Boot protections. This vulnerability enables the execution of malicious code at the UEFI level, potentially leading to persistent and evasive threats. Mitigations for this issue include updates to th...

Blackberry How to factory reset your device.

Here's how to FACTORY RESET the device. Install Blackberry Desktop Manager on a PC.  Connect the Blackberry to the PC with a USB cable. From a DOS prompt (command) window on the users PC (from Start - Run  type cmd <OK>  then change directory path to: C:\Program Files\Common Files\Research In Motion\Apploader     by typing cd\ (enter)  followed by cd Program Files (enter) then cd Common Files (enter)  etc etc Run the command:   Loader.exe /resettofactory That will bring the Blackberry back to the state it should be in when you get a brand new one out of the box.