HOWTO: Bitlocker Status Reporting in SCCM 2007
Posted by dvanderuit in Configuration Manager, System Center, Windows 7, tags: BitlockerI recently had to come up with a solution that will enable administrators to build reports for client’s bitlocker status. To do so i found a few articles on the web that pointed me in the right direction, however i didn’t found a complete howto for it so that’s a good reason for me to post a complete one.
To enable bitlocker status reporting in a centralised management environment with SCCM you need to follow some steps because bitlocker is not integrated that far (yet??) in the Windows OS. First, let’s first take a look at the status information that bitlocker provides:
- Volume name, example: C: [OSDisk]
- Disk size, example: 148,75 GB
- BitLocker Version, example: Windows 7
- Conversion Status, example: Fully Encrypted
- Percentage Encrypted, example: 100%
- Encryption Method, example: AES 128 with Diffuser
- Protection Status, example: Protection On
- Lock Status, example: Unlocked
- Identification Field, example: None
- Key Protectors (Note: multivalue), example: TPM, Numerical Password
You can check the above on clients using the commandline tool manage-bde.exe -status on Windows 7 clients. For Vista clients use cscript manage-bde.wsf -status.
Step 1. Modify and deploy SMS_DEF.MOF
We want bitlocker status information to be inventoried to SCCM. A proper way of doing that would be to add the bitlocker class to the SMS_DEF.MOF file on the management point (found in %SCCMinstallpath%\inboxes\clifiles.src\hinv). Make a copy of this file and edit with your favorite app. Add the following lines at the end of the file:
#pragma namespace (“\\\\.\\root\\cimv2\\SMS“)
#pragma deleteclass(“SCCM_BitLocker”,NOFAIL)
[ SMS_Report (TRUE),
SMS_Group_Name ("SCCM_BitLocker"),
SMS_Class_ID ("CUSTOM|SCCM_BitLocker|1.0") ]
class SCCM_BitLocker : SMS_Class_Template
{
[SMS_Report (TRUE), key ] string Drive;
[SMS_Report (TRUE)] string DriveLabel;
[SMS_Report (TRUE)] string Size;
[SMS_Report (TRUE)] string BitLocker_Version;
[SMS_Report (TRUE)] string Conversion_Status;
[SMS_Report (TRUE)] string Percentage_Encrypted;
[SMS_Report (TRUE)] string Encryption_Method;
[SMS_Report (TRUE)] string Protection_Status;
[SMS_Report (TRUE)] string Lock_Status;
[SMS_Report (TRUE)] string Identification_Field;
[SMS_Report (TRUE)] string Key_Protectors;
[SMS_Report (TRUE)] string Automatic_Unlock;
[SMS_Report (TRUE)] string ScriptLastRan;
};
You should check the file for errors with mofcomp.exe -check SMS_DEF.MOF. To enable the MOF file on a single client run the following command on the client mofcomp -class:forceupdate %pathtofile%\SMS_DEF.MOF. Copy the edited file back to enable it on your ConfigMgr site.
Step 2. Install Bitlocker
Create and link a GPO to apply on the bitlocker clients that contain the following settings (or similair based on your own requirements):
| Machine | Administrative Templates | System | Trusted Platform Module Services | |
| Turn on TPM backup to Active Directory Domain Services | Enabled |
| Machine | Administrative Templates | Windows Components | BitLocker Drive Encryption | Operating Sytem Drives | |
| Choose how BitLocker-protected operating system drives can be recovered | Enabled |
| Allow data recovery agent | Disabled |
| Configure user storage of BitLocker recovery information: | Require 48-digit recovery passwordAllow 256-bit recovery key |
| Omit recovery options from the BitLocker setup wizard | Enabled |
| Save BitLocker recovery information to AD DS for operating system drives | Enabled |
| Configure storage of BitLocker recovery information to AD DS: | Store recovery passwords and key packages |
| Do not enable BitLocker until recovery information is stored to AD DS for operating system drives | Disabled |
Enter the BIOS on your client or use tools like the Dell client configuration utility to turn on TPM, clear the TPM and activate it. After doing this enable bitlocker encryption on the machine. You can use any method to achive this.
Step 3. Add Bitlocker status to WMI & run hw inventory
Although there are multiple ways of manipulating bitlocker through WMI you still need a script to read, update and store bitlocker status information in the WMI repository (see http://msdn.microsoft.com/en-us/library/aa376409.aspx). This is because Managed Object Format (MOF) files are not installed as part of the Windows SDK and therefore the included classes are not added to the WMI repository automatically by Windows itself.
The script:
Run the script and after that initiate a hardware inventory on the client. After a while you will find 2 new tables and 1 new view in the SCCM site database:
Step 4. Create the Report
The most simple report would be a report of the table containing the bitlocker inventory data. By joining other tables/views with SQL queries the possibilities are endless, however i placed that out of scope of this howto
. The following tables and views are provided for this:
- dbo.SCCM_BitLocker_DATA
- dbo.SCCM_BitLocker_HIST
- dbo.v_GS_SCCM_BitLocker0
I created a report in SCCM with the following query using the SQL view:
- select * from v_GS_SCCM_BitLocker0
And there it is, the Bitlocker report:
Tested on SCCM R2 with a Windows 7 Enterprise bitlocker client.
Feel free to comment on this post.









Entries (RSS)