
Devices (computers) managed with Configuration Manager software may have properties that would be useful to administrators. When it comes to technical properties that can be obtained from the managed system itself, the hardware inventory service has long been used to obtain and store them. However, sometimes properties that cannot be obtained from the operating system are important, especially when they are not technical in nature. This may be an inventory number, a purchase document symbol, an organizational assignment (organizational unit). In such cases, you can use the mechanism of custom properties of managed devices. Here is an example of client system properties with a console-declared one[1] custom property:

When we want to add a new property to a device property, there is no preview or list of already defined properties.

However, it turns out that if you type the same property name again, the property already defined in the DeviceExtensionRegistration table is used:

The values given to the custom device property go into the DeviceExtensionData table.

Of course, the system defends itself against repeated use of the same property name for the same device by showing an error:

A view using the above tables is suitable for creating reports:

The view provides the device identifier (ResourceID), property name (PropertyName) and value (PropertyValue).
It seems that adding properties should be done in an automated way to prevent human errors. The occurrence of a spelling error results in the definition of a new variable (property with a separate identifier) and subsequent editing refers only to the value, not the property name:

After entering another property name, we define the next record in the table:

For this reason, it is better not to lead to manual data entry, but to rely on automated solutions.