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, take the following steps.

  1. Navigate to Devices > Staging & Provisioning > Components > Files/Actions, then select the Add Files/Actions button, and then select Windows Rugged as your platform.
  2. Create an XML product. For more information, see Create an XML Provisioning File. The manifest includes 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 AirWatch Agent sends the output file to the Workspace ONE ™ UEM console.

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


You can also view existing custom attributes for all devices at a particular organization group and manually create custom attributes directly in the UEM 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 UEM console.

Syncing Registry Settings

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 must 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 UEM 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 “user name” 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 AirWatch Agent and included in the next interrogator sample. The XML key/value pair must 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.