Author: Cory Ferro, Program Manager, Enterprise Client and Mobility
Windows Phone 8.1 has added a CSP to allow a GET request for the device’s International Mobile Equipment Identity (IMEI), a unique identifier for a mobile device. Inventory collection of mobile device IMEIs is not enabled by default, however it is possible to retrieve the value of Configuration Service Providers (CSP) nodes through inventory, provided these nodes provide GET operations. The steps provided below show you how to define a new inventory class using MOF (which will use URIs for the nodes/properties of interest), and importing the new class into Configuration Manager. Refer to the Windows Phone 8.1 MDM protocol documentation for information on available CSPs and properties.
Create a MOF file to import into Configuration Manager that will define the new inventory class
- Open notepad and copy the following text.
Note: Exporting a MOF creates a MOF that explains the syntax used in a Hardware Inventory settings MOF.
#pragma namespace ("\\.\root\cimv2")
instance of __Namespace
Name = "SMS" ;
#pragma namespace ("\\.\root\cimv2\SMS")
instance of __Namespace
Name = "INV_TEMP" ;
#pragma namespace ("\\.\root\cimv2\SMS\INV_TEMP")
[ SMS_Report (TRUE),
SMS_DEVICE_URI ("") ]
class Device_CUSTOMINFO : SMS_Class_Template
[SMS_Report (TRUE), SMS_DEVICE_URI("WM:./Vendor/MSFT/DeviceInstanceService/IMEI")]
- The new hardware inventory group will be called Device_CUSTOMINFO and the returned value will be named IMEI. These can be changed as needed.
Import the MOF file into Configuration Manager
- In the Admin Console, choose Administration > Client Settings.
- Right-click Default Client Settings and then choose Properties to. Click the Hardware Inventory tab and then click Set Classes…
Note: This must be done from Default Client Settings as we are defining a new class.
- Click Import…, and then click the MOF file created earlier. After the file is processed, a new group representing the inventory class is created.
Because you have edited the Default Client Settings, the new inventory settings will be added to the existing deployment.
Creating a query to collect the IMEI from specified devices
- In the Admin Console, click Monitoring > Queries > Create Query.
- Enter a name for the Query, and then click Import Query Statement…
- Click “All Mobile Devices”, and then click > OK.
- For the Object type, choose System Resource, and then click Edit Query Statement…
- Click the star (*) to add a new class, and then click Select…. For the Attribute class, click the newly imported class. For the Attribute, click the new IMEI Attribute. This will add this attribute to the previously selected class to be queried. Click OK > OK .
- Notice the Query criteria that will be shown in the query. Add and remove classes and attributes as needed.
- Use the Collection Limiting section of the Create Query Wizard to limit the collection, if you need to limit the collection membership.
- View the summary, and then confirm and close the wizard.
- Scroll through the Queries window and click the new query.
- The device names should be visible, as well as the IMEIs.
Configuration Manager Resources
This posting is provided “AS IS” with no warranties and confers no rights.