Use XML provisioning to collect custom attributes based on device details. Custom attributes enable you to use advanced product provisioning functionality.


To begin collecting custom attributes, follow the steps detailed below:

  1. Navigate to Devices > Products > File/Actions > Add, and then select Windows Rugged as your platform.
  2. Create an XML product. For more information, see Create an XML Provisioning File. The manifest should include an action to download the XML file to \Program Files\Airwatch\Cache\Profiles.

Upon receiving the XML file, the AirWatch Agent for Windows Rugged creates a custom attributes output file. During the next check-in with AirWatch, the agent sends the output file to the AirWatch Console.

Once the XML file installs, the custom attributes requested in the file are reported to the AirWatch Console. These values display in the AirWatch Console on the Device Details page under custom attributes. The Device Details page enables you to view the name of the attribute as well as the values returned from each device. These values can be used to create product assignment rules using the Custom Rules system.


You may also view existing custom attributes for all devices at a particular organization group as well as manually create custom attributes directly in the AirWatch Console. Navigate to Devices > Staging & Provisioning > Custom Attributes > List View to see these custom attributes listed. Any custom attribute created in this manner automatically associates with a device and its respective custom attribute value that is successfully transmitted to the AirWatch Console.

Syncing Registry Settings

In order to synchronize the registry settings on a Windows Rugged device with the console, which is likely the most common use of custom attributes for Windows Rugged devices, you need to create a custom XML file. Below is an example of the format of an XML file that can pull information from the registry on a device:


<?xml version="1.0"?>

-<wap-provisioningdoc allowRemoval="True" name="GetTypicalRegValues/V_1" id="5a63204f-848c-42d5-9c14-4ca070743920">

-<characteristic uuid="f49a9cb5-48e9-47cd-84cc-ef122dcb5d50" type="com.airwatch.getregistryinfo.winmo">

<reg_value value_name="Username" key_name="HKEY_LOCAL_MACHINE\Ident" custom_attribute_name="HKLM_Ident_Username"/>

<reg_value value_name="OrigName" key_name="HKEY_LOCAL_MACHINE\Ident" custom_attribute_name="HKLM_Ident_OrigName"/>

<reg_value value_name="BootCount" key_name="HKEY_LOCAL_MACHINE\Comm" custom_attribute_name="HKLM_Comm_BootCount"/>

<reg_value value_name="DeviceIdAlgorithm" key_name="HKEY_LOCAL_MACHINE\Software\AirWatch" custom_attribute_name="Software_AirWatch_DeviceIdAlgorithm"/>



It must be in the previous format for the XML file to get correctly parsed and the registry settings to be outputted to a key value pair that can be exported back to the AirWatch Console. In this example, the registry key path is “HKEY_LOCAL_MACHINE\Ident” for two of the values and within that key path it is reading the values of “Username” and “OrigName”. The ‘custom_attribute_name’ parameter is simply the name of the custom attribute that displays in the console and corresponds to the value read from the device.

Using Third-Party Applications to Create Custom Attributes

If you want to create custom attributes using a third party application, you need that application to export an XML file with a key value pair to the Program Files\AirWatch\Cache\CustomAttributes directory on the device. Once an XML file with a key value pair is present in this directory it is parsed by the agent and included in the next interrogator sample. The XML key/value pair should be in the following format:


<?xml version="1.0"?>


<attribute name="HKLM_Ident_Username" value="guest"/>

<attribute name="HKLM_Ident_OrigName" value="Pocket_PC"/>

<attribute name="HKLM_Comm_BootCount" value="1"/>

<attribute name="Software_AirWatch_DeviceIdAlgorithm" value="3"/>

<attribute name="HKLM_SoftwareAW_SerialNo" value="13233521403231"/>


‘Attribute name’ is the name of the attribute in the console while ‘value’ is the corresponding value that is associated with that attribute.