创建或编辑 sms_def.mof 文件
若要使客户端计算机能够通过 MBAM Configuration Manager 报表报告 BitLocker 符合性详细信息,必须创建或编辑 Sms_def.mof 文件。
如果使用 System Center 2012 Configuration Manager,则必须创建文件。 在顶层站点上创建文件。 更改将复制到基础结构中的其他站点。
在 Configuration Manager 2007 中,该文件已存在,因此只需对其进行编辑。 不要覆盖现有文件。
在以下部分中,完成与你正在使用的 Configuration Manager 版本对应的说明。
为 System Center 2012 Configuration Manager 创建 Sms_def.mof 文件
在 Configuration Manager 服务器上,浏览到必须在其中创建 Sms_def.mof 文件的位置,例如桌面。
创建名为 Sms_def.mof 的文本文件,并复制以下代码以使用以下 Sms_def.mof MBAM 类填充文件:
//=================================================== // Microsoft BitLocker Administration and Monitoring //=================================================== #pragma namespace ("\\\\.\\root\\cimv2\\SMS") #pragma deleteclass("Win32_BitLockerEncryptionDetails", NOFAIL) [ SMS_Report (TRUE), SMS_Group_Name ("BitLocker Encryption Details"), SMS_Class_ID ("MICROSOFT|BITLOCKER_DETAILS|1.0")] class Win32_BitLockerEncryptionDetails : SMS_Class_Template { [ SMS_Report (TRUE), key ] String DeviceId; [ SMS_Report (TRUE) ] String BitlockerPersistentVolumeId; [ SMS_Report (TRUE) ] String MbamPersistentVolumeId; [ SMS_Report (TRUE) ] //UNKNOWN = 0, OS_Volume = 1, FIXED_VOLUME = 2, REMOVABLE_VOLUME = 3 SInt32 MbamVolumeType; [ SMS_Report (TRUE) ] String DriveLetter; [ SMS_Report (TRUE) ] //VOLUME_NOT_COMPLIANT = 0, VOLUME_COMPLIANT = 1, NOT_APPLICABLE = 2 SInt32 Compliant; [ SMS_Report (TRUE) ] SInt32 ReasonsForNonCompliance[]; [ SMS_Report (TRUE) ] SInt32 KeyProtectorTypes[]; [ SMS_Report (TRUE) ] SInt32 EncryptionMethod; [ SMS_Report (TRUE) ] SInt32 ConversionStatus; [ SMS_Report (TRUE) ] SInt32 ProtectionStatus; [ SMS_Report (TRUE) ] Boolean IsAutoUnlockEnabled; [ SMS_Report (TRUE) ] String NoncomplianceDetectedDate; [ SMS_Report (TRUE) ] String EnforcePolicyDate; }; #pragma namespace ("\\\\.\\root\\cimv2\\SMS") #pragma deleteclass("Win32Reg_MBAMPolicy", NOFAIL) [ SMS_Report(TRUE), SMS_Group_Name("BitLocker Policy"), SMS_Class_ID("MICROSOFT|MBAM_POLICY|1.0")] Class Win32Reg_MBAMPolicy: SMS_Class_Template { [SMS_Report(TRUE),key] string KeyName; //General encryption requirements [SMS_Report(TRUE)] UInt32 OsDriveEncryption; [ SMS_Report (TRUE) ] UInt32 FixedDataDriveEncryption; [ SMS_Report (TRUE) ] UInt32 EncryptionMethod; //Required protectors properties [ SMS_Report (TRUE) ] UInt32 OsDriveProtector; [ SMS_Report (TRUE) ] UInt32 FixedDataDriveAutoUnlock; [ SMS_Report (TRUE) ] UInt32 FixedDataDrivePassphrase; //MBAM Agent fields //Policy not enforced (0), enforced (1), pending user exemption request (2) or exempted user (3) [SMS_Report(TRUE)] Uint32 MBAMPolicyEnforced; [SMS_Report(TRUE)] string LastConsoleUser; //Date of the exemption request of the last logged on user, //or the first date the exemption was granted to him on this machine. [SMS_Report(TRUE)] datetime UserExemptionDate; //Errors encountered by MBAM agent. [ SMS_Report (TRUE) ] UInt32 MBAMMachineError; [ SMS_Report (TRUE) ] string EncodedComputerName; }; //Read Win32_OperatingSystem.SKU WMI property in a new class - because SKU is not available before Vista. #pragma namespace ("\\\\.\\root\\cimv2\\SMS") #pragma deleteclass("CCM_OperatingSystemExtended", NOFAIL) [ SMS_Report (TRUE), SMS_Group_Name ("Operating System Ex"), SMS_Class_ID ("MICROSOFT|OPERATING_SYSTEM_EXT|1.0") ] class CCM_OperatingSystemExtended : SMS_Class_Template { [SMS_Report (TRUE), key ] string Name; [SMS_Report (TRUE) ] uint32 SKU; }; //Read Win32_ComputerSystem.PCSystemType WMI property in a new class - because PCSystemType is not available before Vista. #pragma namespace ("\\\\.\\root\\cimv2\\SMS") #pragma deleteclass("CCM_ComputerSystemExtended", NOFAIL) [ SMS_Report (TRUE), SMS_Group_Name ("Computer System Ex"), SMS_Class_ID ("MICROSOFT|COMPUTER_SYSTEM_EXT|1.0") ] class CCM_ComputerSystemExtended : SMS_Class_Template { [SMS_Report (TRUE), key ] string Name; [SMS_Report (TRUE) ] uint16 PCSystemType; }; //======================================================= // Microsoft BitLocker Administration and Monitoring end //=======================================================
通过执行以下操作导入 Sms_def.mof 文件:
打开 System Center 2012 Configuration Manager 控制台 ,然后选择“ 管理 ”选项卡。
在“ 管理 ”选项卡上,选择“ 客户端设置”。
右键单击“ 默认客户端设置”,然后选择“ 属性”。
在 “默认设置” 窗口中,选择“ 硬件清单”。
选择“ 设置类”,然后选择“ 导入”。
在打开的浏览器中,选择 .mof 文件,然后选择“ 打开”。 “ 导入摘要” 窗口随即打开。
在 “导入摘要” 窗口中,确保选中用于导入硬件清单类和类设置的选项,然后选择“ 导入”。
在“ 硬件清单类 ”窗口和 “默认设置” 窗口中,选择“ 确定”。
按如下所示启用 Win32_Tpm 类:
打开 System Center 2012 Configuration Manager 控制台 ,然后选择“ 管理 ”选项卡。
在“ 管理 ”选项卡上,选择“ 客户端设置”。
右键单击“ 默认客户端设置”,然后选择“ 属性”。
在 “默认设置” 窗口中,选择“ 硬件清单”。
选择“ 设置类”。
在主窗口中,向下滚动,然后选择 TPM (Win32_Tpm) 类。
在 “TPM”下,确保已选择 SpecVersion 属性。
在“ 硬件清单类 ”窗口和 “默认设置” 窗口中,选择“ 确定”。
编辑 Configuration Manager 2007 的 sms_def.mof 文件
在 Configuration Manager 服务器上,浏览到 sms_def.mof 文件的位置:
<CMInstallLocation>\Inboxes\clifiles.src\hinv\
在默认安装中,安装位置为 %systemdrive% \Program Files (x86) \Microsoft Configuration Manager。
复制以下代码,然后将其追加到 Sms_def.mof 文件,以将以下必需的 MBAM 类添加到该文件:
//=================================================== // Microsoft BitLocker Administration and Monitoring //=================================================== #pragma namespace ("\\\\.\\root\\cimv2\\SMS") #pragma deleteclass("Win32_BitLockerEncryptionDetails", NOFAIL) [ SMS_Report (TRUE), SMS_Group_Name ("BitLocker Encryption Details"), SMS_Class_ID ("MICROSOFT|BITLOCKER_DETAILS|1.0")] class Win32_BitLockerEncryptionDetails : SMS_Class_Template { [ SMS_Report (TRUE), key ] String DeviceId; [ SMS_Report (TRUE) ] String BitlockerPersistentVolumeId; [ SMS_Report (TRUE) ] String MbamPersistentVolumeId; [ SMS_Report (TRUE) ] //UNKNOWN = 0, OS_Volume = 1, FIXED_VOLUME = 2, REMOVABLE_VOLUME = 3 SInt32 MbamVolumeType; [ SMS_Report (TRUE) ] String DriveLetter; [ SMS_Report (TRUE) ] //VOLUME_NOT_COMPLIANT = 0, VOLUME_COMPLIANT = 1, NOT_APPLICABLE = 2 SInt32 Compliant; [ SMS_Report (TRUE) ] SInt32 ReasonsForNonCompliance[]; [ SMS_Report (TRUE) ] SInt32 KeyProtectorTypes[]; [ SMS_Report (TRUE) ] SInt32 EncryptionMethod; [ SMS_Report (TRUE) ] SInt32 ConversionStatus; [ SMS_Report (TRUE) ] SInt32 ProtectionStatus; [ SMS_Report (TRUE) ] Boolean IsAutoUnlockEnabled; [ SMS_Report (TRUE) ] String NoncomplianceDetectedDate; [ SMS_Report (TRUE) ] String EnforcePolicyDate; }; #pragma namespace ("\\\\.\\root\\cimv2\\SMS") #pragma deleteclass("Win32Reg_MBAMPolicy", NOFAIL) [ SMS_Report(TRUE), SMS_Group_Name("BitLocker Policy"), SMS_Class_ID("MICROSOFT|MBAM_POLICY|1.0"), SMS_Context_1("__ProviderArchitecture=32|uint32"), SMS_Context_2("__RequiredArchitecture=true|boolean")] Class Win32Reg_MBAMPolicy: SMS_Class_Template { [SMS_Report(TRUE),key] string KeyName; //General encryption requirements [SMS_Report(TRUE)] UInt32 OsDriveEncryption; [ SMS_Report (TRUE) ] UInt32 FixedDataDriveEncryption; [ SMS_Report (TRUE) ] UInt32 EncryptionMethod; //Required protectors properties [ SMS_Report (TRUE) ] UInt32 OsDriveProtector; [ SMS_Report (TRUE) ] UInt32 FixedDataDriveAutoUnlock; [ SMS_Report (TRUE) ] UInt32 FixedDataDrivePassphrase; //MBAM Agent fields //Policy not enforced (0), enforced (1), pending user exemption request (2) or exempted user (3) [SMS_Report(TRUE)] Uint32 MBAMPolicyEnforced; [SMS_Report(TRUE)] string LastConsoleUser; //Date of the exemption request of the last logged on user, //or the first date the exemption was granted to him on this machine. [SMS_Report(TRUE)] datetime UserExemptionDate; //Errors encountered by MBAM agent. [ SMS_Report (TRUE) ] UInt32 MBAMMachineError; // Encoded Computer Name [ SMS_Report (TRUE) ] string EncodedComputerName; }; #pragma namespace ("\\\\.\\root\\cimv2\\SMS") #pragma deleteclass("Win32Reg_MBAMPolicy_64", NOFAIL) [ SMS_Report(TRUE), SMS_Group_Name("BitLocker Policy"), SMS_Class_ID("MICROSOFT|MBAM_POLICY|1.0"), SMS_Context_1("__ProviderArchitecture=64|uint32"), SMS_Context_2("__RequiredArchitecture=true|boolean")] Class Win32Reg_MBAMPolicy_64: SMS_Class_Template { [SMS_Report(TRUE),key] string KeyName; //General encryption requirements [SMS_Report(TRUE)] UInt32 OsDriveEncryption; [ SMS_Report (TRUE) ] UInt32 FixedDataDriveEncryption; [ SMS_Report (TRUE) ] UInt32 EncryptionMethod; //Required protectors properties [ SMS_Report (TRUE) ] UInt32 OsDriveProtector; [ SMS_Report (TRUE) ] UInt32 FixedDataDriveAutoUnlock; [ SMS_Report (TRUE) ] UInt32 FixedDataDrivePassphrase; //MBAM Agent fields //Policy not enforced (0), enforced (1), pending user exemption request (2) or exempted user (3) [SMS_Report(TRUE)] Uint32 MBAMPolicyEnforced; [SMS_Report(TRUE)] string LastConsoleUser; //Date of the exemption request of the last logged on user, //or the first date the exemption was granted to him on this machine. [SMS_Report(TRUE)] datetime UserExemptionDate; //Errors encountered by MBAM agent. [ SMS_Report (TRUE) ] UInt32 MBAMMachineError; // Encoded Computer Name [ SMS_Report (TRUE) ] string EncodedComputerName; }; //Read Win32_OperatingSystem.SKU WMI property in a new class - because SKU is not available before Vista. #pragma namespace ("\\\\.\\root\\cimv2\\SMS") #pragma deleteclass("CCM_OperatingSystemExtended", NOFAIL) [ SMS_Report (TRUE), SMS_Group_Name ("Operating System Ex"), SMS_Class_ID ("MICROSOFT|OPERATING_SYSTEM_EXT|1.0") ] class CCM_OperatingSystemExtended : SMS_Class_Template { [SMS_Report (TRUE), key ] string Name; [SMS_Report (TRUE) ] uint32 SKU; }; //Read Win32_ComputerSystem.PCSystemType WMI property in a new class - because PCSystemType is not available before Vista. #pragma namespace ("\\\\.\\root\\cimv2\\SMS") #pragma deleteclass("CCM_ComputerSystemExtended", NOFAIL) [ SMS_Report (TRUE), SMS_Group_Name ("Computer System Ex"), SMS_Class_ID ("MICROSOFT|COMPUTER_SYSTEM_EXT|1.0") ] class CCM_ComputerSystemExtended : SMS_Class_Template { [SMS_Report (TRUE), key ] string Name; [SMS_Report (TRUE) ] uint16 PCSystemType; }; //======================================================= // Microsoft BitLocker Administration and Monitoring end //=======================================================
按如下所示修改 Win32_Tpm 类:
在类属性中 将SMS_REPORT 设置为 TRUE 。
在 SpecVersion 属性属性中将SMS_REPORT设置为 TRUE。