Jump to content


Sign in to follow this  
JazYO.o

SCCM 2012 R2 and MBAM 2.5 Integration Hw Inventory Problem

Recommended Posts

Hello Everyone. I am trying to integrate SCCM 2012 R2 with MBAM 2.5

 

But I have problem with importing BitLocker Policy (Win32Reg_MBAMPolicy)

 

When I run mofcomp against sms_def.mof

 

C:\Users\scwi\Desktop>mofcomp mbam.mof
Microsoft ® MOF Compiler Version 6.3.9600.16384
Copyright © Microsoft Corp. 1997-2006. All rights reserved.
Parsing MOF file: mbam.mof
MOF file has been successfully parsed
Storing data in the repository...
An error occurred while creating object 2 defined on lines 10 - 42:
0X80041002 Class, instance, or property 'SMS_Class_Template' was not found.
Compiler returned error 0x80041002

 

Ok so I queried my WMI and I do have that class. It has to be there since I successfully importerd BitLocker Encryption Details (Win32_BitLockerEncryptionDetails)

 

all the MOF files I got I have from MS websites below.

 

https://technet.microsoft.com/en-us/library/dn645321.aspx

 

https://technet.microsoft.com/en-us/library/dn656927.aspx

 

I was able to import

 

- Computer System Ex

- Operating System Ex

- Win32_BitLockerEncryptionDetails)

 

when I removed this portion from the script:

 

#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;
};

I tried to integrate MBAM and sccm but I am getting this error :

 

Unexpected Configurator error.

Description:

Exception thrown from feature provider.

Exception:

System.NullReferenceException: Object reference not set to an instance of an object.

at Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine.WqlResultObjectBase.get_Item(String name)

at Microsoft.Mbam.Setup.Common.CmIntegration.SmsEntities.SmsCollection.get_CollectionId()

at Microsoft.Mbam.Setup.Common.CmIntegration.Implementors.CmObjectsManager.TryDeleteInvalidCollection(ISmsCollection collection)

at Microsoft.Mbam.Setup.Common.CmIntegration.Implementors.CmObjectsManager.CreateAndInitializeCollection[T,U](T collectionSettings, Boolean& updated, ISmsCollection& collectionBeforeUpdate)

at Microsoft.Mbam.Setup.Common.CmIntegration.Implementors.CmObjectsManager.CreateCollection(String collectionSettingsFilePath, CultureInfo desiredCulture, CMVersion cmVersion, Boolean& updated, ISmsCollection& collectionBeforeUpdate)

at Microsoft.Mbam.Setup.Common.CmIntegration.CMObjects.CreateCmCollections()

at Microsoft.Mbam.Setup.Common.ActionItem.Run()

at Microsoft.Mbam.Setup.Common.ActionItemQueue.Run()

at Microsoft.Mbam.Setup.Common.CmIntegration.CmIntegrationProvider.Enable(IProgress`1 progress, CancellationToken cancellationToken, CmIntegrationConfiguration configuration)

at Microsoft.Mbam.Setup.Common.FeatureProviderBase`1.<>c__DisplayClass34`1.<InvokeAsync>b__33()

at System.Threading.Tasks.Task`1.InnerInvoke()

at System.Threading.Tasks.Task.Execute()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at Microsoft.Mbam.Setup.Common.FeatureProviderBase`1.<InvokeAsync>d__36`1.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at Microsoft.Mbam.Setup.Common.FeatureProviderBase`1.<>c__DisplayClass2.<<EnableAsync>b__0>d__4.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()

at Microsoft.Mbam.Setup.Common.FeatureProviderBase`1.<EnableAsync>d__8.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at Microsoft.Mbam.Setup.Configurator.CMUIFeatureModel.<EnableTransacted>d__4.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at Microsoft.Mbam.Setup.Configurator.BatchTaskModel.<>c__DisplayClass5.<<Commit>b__1>d__7.MoveNext()

 

I am assuming it is because I don't have BitLocker Policy imported to my default client inventory because MBAM 2.5 Integration wizard creates device collection MBAM managed devices .

 

It feels like I tried everything but I know I don't so I decided to ask all the generous people to help me here.

 

 

Share this post


Link to post
Share on other sites


why are you running mofcomp on it, have you seen the instructions here ?\

 

https://technet.microsoft.com/en-us/library/dn656927.aspx

and

https://technet.microsoft.com/en-us/library/dn645321.aspx

 

these are two SEPARATE mof files, and that's important, one you append to your mof file in <CMInstallLocation>\Inboxes\clifiles.src\hinv\

 

and the other you import to your clients via default client settings,

 

so, have you done that ?

Share this post


Link to post
Share on other sites

I did. This is my config.mof in C:\Program Files\Microsoft Configuration Manager\inboxes\clifiles.src\hinv

 

//==================================================================
//
// Configuration.mof - WMI configuration that will be compiled on
// SMS clients.
//
// Copyright © Microsoft Corporation, All Rights Reserved
//
//==================================================================

//==================================================================
// Define registry classes for inventory reporting
//
// - Registry key/value class definition should be done in cimv2,
// - SMS class definition should be done in cimv2\\sms
//==================================================================

//----------------------
// Add Remove Programs
//----------------------

#pragma namespace ("\\\\.\\root\\cimv2")

[ dynamic,
provider("RegProv"),
ClassContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall")
]
class Win32Reg_AddRemovePrograms
{
[key]
string ProdID;
[PropertyContext("DisplayName")]
string DisplayName;
[PropertyContext("InstallDate")]
string InstallDate;
[PropertyContext("Publisher") ]
string Publisher;
[PropertyContext("DisplayVersion")]
string Version;
};

[ dynamic,
provider("RegProv"),
ClassContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall")
]
class Win32Reg_AddRemovePrograms64
{
[key]
string ProdID;
[PropertyContext("DisplayName")]
string DisplayName;
[PropertyContext("InstallDate")]
string InstallDate;
[PropertyContext("Publisher") ]
string Publisher;
[PropertyContext("DisplayVersion")]
string Version;
};
//----------------------
// Virtual PC
//----------------------

#pragma namespace ("\\\\.\\root\\cimv2")

[DYNPROPS]
class Win32Reg_SMSGuestVirtualMachine
{
[key]
string InstanceKey;
string PhysicalHostName;
string PhysicalHostNameFullyQualified;
};

[DYNPROPS]
instance of Win32Reg_SMSGuestVirtualMachine
{
InstanceKey = "VPCKey";
[PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Virtual Machine\\Guest\\Parameters|PhysicalHostName"),
Dynamic, Provider("RegPropProv")]
PhysicalHostName;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Virtual Machine\\Guest\\Parameters|PhysicalHostNameFullyQualified"),
Dynamic, Provider("RegPropProv")]
PhysicalHostNameFullyQualified;
};

[DYNPROPS]
class Win32Reg_SMSGuestVirtualMachine64
{
[key]
string InstanceKey;
string PhysicalHostName;
string PhysicalHostNameFullyQualified;
};

[DYNPROPS]
instance of Win32Reg_SMSGuestVirtualMachine64
{
InstanceKey = "VPCKey";
[PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Virtual Machine\\Guest\\Parameters|PhysicalHostName"),
Dynamic, Provider("RegPropProv")]
PhysicalHostName;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Virtual Machine\\Guest\\Parameters|PhysicalHostNameFullyQualified"),
Dynamic, Provider("RegPropProv")]
PhysicalHostNameFullyQualified;
};

//----------------------
// Advanced Client Ports
//----------------------

#pragma namespace ("\\\\.\\root\\cimv2")

#pragma deleteclass("Win32Reg_SMSAdvancedClientPorts", NOFAIL)

[DYNPROPS]
class Win32Reg_SMSAdvancedClientPorts
{
[key]
string InstanceKey;
uint32 PortName;
uint32 HttpsPortName;
};

[DYNPROPS]
instance of Win32Reg_SMSAdvancedClientPorts
{
InstanceKey = "SMSPortKey";
[PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\CCM|HttpPort"),
Dynamic, Provider("RegPropProv")]
PortName;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\CCM|HttpsPort"),
Dynamic, Provider("RegPropProv")]
HttpsPortName;
};

 

//--------------------------------------------
// Advanced Client SSL Security COnfigurations
//--------------------------------------------

#pragma namespace ("\\\\.\\root\\cimv2")

#pragma deleteclass("Win32Reg_SMSAdvancedClientSSLConfiguration", NOFAIL)

[DYNPROPS]
class Win32Reg_SMSAdvancedClientSSLConfiguration
{
[key]
string InstanceKey;
uint32 HttpsStateFlags;
string CertificateStore;
string CertificateSelectionCriteria;
string InternetMPHostName;
uint32 SelectFirstCertificate;
uint32 ClientAlwaysOnInternet;
};

[DYNPROPS]
instance of Win32Reg_SMSAdvancedClientSSLConfiguration
{
InstanceKey = "SMSSSLConfiguration";

[PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\CCM|HttpsState"),
Dynamic, Provider("RegPropProv")]
HttpsStateFlags;

[PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\CCM\\Security|Certificate Store"),
Dynamic, Provider("RegPropProv")]
CertificateStore;

[PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\CCM\\Security|Certificate Selection Criteria"),
Dynamic, Provider("RegPropProv")]
CertificateSelectionCriteria;

[PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\SMS\\Client\\Internet Facing|Internet MP Hostname"),
Dynamic, Provider("RegPropProv")]
InternetMPHostName;

[PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\CCM\\Security|Select First Certificate"),
Dynamic, Provider("RegPropProv")]
SelectFirstCertificate;

[PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\CCM\\Security|ClientAlwaysOnInternet"),
Dynamic, Provider("RegPropProv")]
ClientAlwaysOnInternet;
};

// Declare the class to prevent older clients from sending error status messages
#pragma namespace("\\\\.\\root")
instance of __Namespace
{
Name = "ccm" ;
};
#pragma namespace("\\\\.\\root\\ccm")
instance of __Namespace
{
Name = "SoftwareMeteringAgent" ;
};
#pragma namespace("\\\\.\\root\\ccm\\SoftwareMeteringAgent")
class CCM_RecentlyUsedApps
{
[Key]
string FolderPath;

[Key]
string ExplorerFileName;

[Key]
string LastUserName;

string OriginalFileName;
string FileVersion;
uint32 FileSize;
string ProductName;
string ProductVersion;
string CompanyName;
uint32 ProductLanguage;
string FileDescription;
uint32 LaunchCount;
datetime LastUsedTime;

string ProductCode;
string AdditionalProductCodes;
string msiDisplayName;
string msiPublisher;
string msiVersion;
string SoftwarePropertiesHash;
string FilePropertiesHash;
};

#pragma namespace("\\\\.\\root")
instance of __Namespace
{
Name = "ccm" ;
};

#pragma namespace("\\\\.\\root\\ccm")

//--------------------------------------------
// CCM_LogicalMemoryConfiguration
//--------------------------------------------
#pragma namespace("\\\\.\\root\\cimv2")

[union,ViewSources{"select Name,FreeVirtualMemory,SizeStoredInPagingFiles,TotalVisibleMemorySize,TotalVirtualMemorySize from Win32_OperatingSystem"},ViewSpaces{"\\\\.\\root\\cimv2"},
dynamic,Provider("MS_VIEW_INSTANCE_PROVIDER")]
class CCM_LogicalMemoryConfiguration
{
[PropertySources{"FreeVirtualMemory"}]
uint64 AvailableVirtualMemory;
[PropertySources{"Name"},key]
string Name;
[PropertySources{"SizeStoredInPagingFiles"}]
uint64 TotalPageFileSpace;
[PropertySources{"TotalVisibleMemorySize"}]
uint64 TotalPhysicalMemory;
[PropertySources{"TotalVirtualMemorySize"}]
uint64 TotalVirtualMemory;
};

#pragma namespace ("\\\\.\\root\\cimv2")
#pragma deleteclass("Win32_BitLockerEncryptionDetails", NOFAIL)
[union, ViewSources{"select DeviceId, BitlockerPersistentVolumeId, BitLockerManagementPersistentVolumeId, BitLockerManagementVolumeType, DriveLetter, Compliant, ReasonsForNonCompliance, KeyProtectorTypes, EncryptionMethod, ConversionStatus, ProtectionStatus, IsAutoUnlockEnabled, NoncomplianceDetectedDate, EnforcePolicyDate from Mbam_Volume"}, ViewSpaces{"\\\\.\\root\\microsoft\\mbam"}, dynamic, Provider("MS_VIEW_INSTANCE_PROVIDER")]
class Win32_BitLockerEncryptionDetails
{
[PropertySources{"DeviceId"},key]
String DeviceId;
[PropertySources{"BitlockerPersistentVolumeId"}]
String BitlockerPersistentVolumeId;
[PropertySources{"BitLockerManagementPersistentVolumeId"}]
String MbamPersistentVolumeId;
//UNKNOWN = 0, OS_Volume = 1, FIXED_VOLUME = 2, REMOVABLE_VOLUME = 3
[PropertySources{"BitLockerManagementVolumeType"}]
SInt32 MbamVolumeType;
[PropertySources{"DriveLetter"}]
String DriveLetter;
//VOLUME_NOT_COMPLIANT = 0, VOLUME_COMPLIANT = 1, NOT_APPLICABLE = 2
[PropertySources{"Compliant"}]
SInt32 Compliant;
[PropertySources{"ReasonsForNonCompliance"}]
SInt32 ReasonsForNonCompliance[];
[PropertySources{"KeyProtectorTypes"}]
SInt32 KeyProtectorTypes[];
[PropertySources{"EncryptionMethod"}]
SInt32 EncryptionMethod;
[PropertySources{"ConversionStatus"}]
SInt32 ConversionStatus;
[PropertySources{"ProtectionStatus"}]
SInt32 ProtectionStatus;
[PropertySources{"IsAutoUnlockEnabled"}]
Boolean IsAutoUnlockEnabled;
[PropertySources{"NoncomplianceDetectedDate"}]
String NoncomplianceDetectedDate;
[PropertySources{"EnforcePolicyDate"}]
String EnforcePolicyDate;
};

#pragma namespace ("\\\\.\\root\\cimv2")

 

//===================================================
// Microsoft BitLocker Administration and Monitoring
//===================================================

#pragma namespace ("\\\\.\\root\\cimv2")
#pragma deleteclass("Win32_BitLockerEncryptionDetails", NOFAIL)
[union, ViewSources{"select DeviceId, BitlockerPersistentVolumeId, BitLockerManagementPersistentVolumeId, BitLockerManagementVolumeType, DriveLetter, Compliant, ReasonsForNonCompliance, KeyProtectorTypes, EncryptionMethod, ConversionStatus, ProtectionStatus, IsAutoUnlockEnabled, NoncomplianceDetectedDate, EnforcePolicyDate from Mbam_Volume"}, ViewSpaces{"\\\\.\\root\\microsoft\\mbam"}, dynamic, Provider("MS_VIEW_INSTANCE_PROVIDER")]
class Win32_BitLockerEncryptionDetails
{
[PropertySources{"DeviceId"},key]
String DeviceId;
[PropertySources{"BitlockerPersistentVolumeId"}]
String BitlockerPersistentVolumeId;
[PropertySources{"BitLockerManagementPersistentVolumeId"}]
String MbamPersistentVolumeId;
//UNKNOWN = 0, OS_Volume = 1, FIXED_VOLUME = 2, REMOVABLE_VOLUME = 3
[PropertySources{"BitLockerManagementVolumeType"}]
SInt32 MbamVolumeType;
[PropertySources{"DriveLetter"}]
String DriveLetter;
//VOLUME_NOT_COMPLIANT = 0, VOLUME_COMPLIANT = 1, NOT_APPLICABLE = 2
[PropertySources{"Compliant"}]
SInt32 Compliant;
[PropertySources{"ReasonsForNonCompliance"}]
SInt32 ReasonsForNonCompliance[];
[PropertySources{"KeyProtectorTypes"}]
SInt32 KeyProtectorTypes[];
[PropertySources{"EncryptionMethod"}]
SInt32 EncryptionMethod;
[PropertySources{"ConversionStatus"}]
SInt32 ConversionStatus;
[PropertySources{"ProtectionStatus"}]
SInt32 ProtectionStatus;
[PropertySources{"IsAutoUnlockEnabled"}]
Boolean IsAutoUnlockEnabled;
[PropertySources{"NoncomplianceDetectedDate"}]
String NoncomplianceDetectedDate;
[PropertySources{"EnforcePolicyDate"}]
String EnforcePolicyDate;
};

#pragma namespace ("\\\\.\\root\\cimv2\\")
#pragma deleteclass("Win32Reg_MBAMPolicy", NOFAIL)
[DYNPROPS]
Class Win32Reg_MBAMPolicy
{
[key]
string KeyName;

//General encryption requirements
UInt32 OsDriveEncryption;
UInt32 FixedDataDriveEncryption;
UInt32 EncryptionMethod;

//Required protectors properties
UInt32 OsDriveProtector;
UInt32 FixedDataDriveAutoUnlock;
UInt32 FixedDataDrivePassphrase;

//MBAM Agent fields
Uint32 MBAMPolicyEnforced;
string LastConsoleUser;
datetime UserExemptionDate;
UInt32 MBAMMachineError;

// Encoded Computer Name
string EncodedComputerName;
};

[DYNPROPS]
Instance of Win32Reg_MBAMPolicy
{
KeyName="BitLocker policy";

//General encryption requirements
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\FVE\\MDOPBitLockerManagement|ShouldEncryptOsDrive"),Dynamic,Provider("RegPropProv")]
OsDriveEncryption;
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\FVE\\MDOPBitLockerManagement|ShouldEncryptFixedDataDrive"),Dynamic,Provider("RegPropProv")]
FixedDataDriveEncryption;
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\FVE|EncryptionMethod"),Dynamic,Provider("RegPropProv")]
EncryptionMethod;

//Required protectors properties
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MBAM|OSVolumeProtectorPolicy"),Dynamic,Provider("RegPropProv")]
OsDriveProtector;
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\FVE\\MDOPBitLockerManagement|AutoUnlockFixedDataDrive"),Dynamic,Provider("RegPropProv")]
FixedDataDriveAutoUnlock;
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\FVE|FDVPassphrase"),Dynamic,Provider("RegPropProv")]
FixedDataDrivePassphrase;

//MBAM agent fields
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MBAM|MBAMPolicyEnforced"),Dynamic,Provider("RegPropProv")]
MBAMPolicyEnforced;
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MBAM|LastConsoleUser"),Dynamic,Provider("RegPropProv")]
LastConsoleUser;
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MBAM|UserExemptionDate"),Dynamic,Provider("RegPropProv")]
UserExemptionDate; //Registry value should be string in the format of yyyymmddHHMMSS.mmmmmmsUUU
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MBAM|MBAMMachineError"),Dynamic,Provider("RegPropProv")]
MBAMMachineError;
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MBAM|EncodedComputerName"),Dynamic,Provider("RegPropProv")]
EncodedComputerName;
};

#pragma namespace ("\\\\.\\root\\cimv2")
#pragma deleteclass("CCM_OperatingSystemExtended", NOFAIL)
[union, ViewSources{"select Name,OperatingSystemSKU from Win32_OperatingSystem"}, ViewSpaces{"\\\\.\\root\\cimv2"},
dynamic,Provider("MS_VIEW_INSTANCE_PROVIDER")]
class CCM_OperatingSystemExtended
{
[PropertySources{"Name"},key]
string Name;
[PropertySources{"OperatingSystemSKU"}]
uint32 SKU;
};

#pragma namespace ("\\\\.\\root\\cimv2")
#pragma deleteclass("CCM_ComputerSystemExtended", NOFAIL)
[union, ViewSources{"select Name,PCSystemType from Win32_ComputerSystem"}, ViewSpaces{"\\\\.\\root\\cimv2"},
dynamic,Provider("MS_VIEW_INSTANCE_PROVIDER")]
class CCM_ComputerSystemExtended
{
[PropertySources{"Name"},key]
string Name;
[PropertySources{"PCSystemType"}]
uint16 PCSystemType;
};

//=======================================================
// Microsoft BitLocker Administration and Monitoring end
//=======================================================

//========================
// Added extensions start
//========================

//========================
// Added extensions end
//========================

 

and this is sms_def.mof

 

//===================================================
// 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
//=======================================================

 

When I try to import it I get this :

 

The MOF file you tried to import could not be compiled. Ensure that the MOF file contains valid data. You can use the command line mofcomp utility to test the data.

 

 

 

Share this post


Link to post
Share on other sites
On 7/6/2015 at 9:47 PM, anyweb said:

why are you running mofcomp on it, have you seen the instructions here ?\

 

https://technet.microsoft.com/en-us/library/dn656927.aspx

and

https://technet.microsoft.com/en-us/library/dn645321.aspx

 

these are two SEPARATE mof files, and that's important, one you append to your mof file in <CMInstallLocation>\Inboxes\clifiles.src\hinv\

 

and the other you import to your clients via default client settings,

 

so, have you done that ?

how to you append to the file? I have created another copy of the file and added the new part to the end of the file and saved it. When I try to overwrite the existing configuration.mof, it does not allow me to do so. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...