建立或編輯 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 檔案的位置,例如 Desktop。
建立名為 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。