Custom Fields

Added in FileWave 12.7.0, Custom Fields will allow you to create custom inventory values and assign them to your devices in a 5 different ways. You will find this option under the Assistants menu called Custom Fields, from there you can either Import CSV or Edit Custom Fields. The Edit Custom Fields section has four different options you can chose from that will allow you to create custom fields and in turn assign those values to devices.

Important Note: You cannot use special characters in the creation of Custom Fields!

See Importing and Exporting Custom Field Files

Display Name

A user friendly name for your reference later

Internal Name

A system-wide variable that can be used in to reference these field values

FileWave will let you create an internal name which is the same as a FileWave inventory item internal name, for example %location% is already a built-in variable. When you are referencing custom values prefix them as below to avoid conflicts.

# MDM profiles:
# Launch Arguments or Environment Variable values in FileWave Scripts:

Provided by

This defines where the field comes from and also how it is updated.


This option will allow you to set a custom field to your selected device(s) with a single or multiple preset values. This will be admin data so nothing has to be sent out to the device themselves. The setting "Assigned to all devices " will auto-associate this custom field to all devices in FileWave and any new devices that become enrolled. After picking the Data Type, you can select either a Default Value or if you would like to Restrict Allowed Values. If "Restrict allowed values" is selected then you can enter as many values as you like and then select one as default. If no value is selected as default then the value will simply be empty for the device. To modify or add these values simply right click on your selected device, select Edit Custom Field(s) Value, in the Field Value column double click and select the value from your list.

building code.png

edit custom field values.png

Client Script

Client Script will allow you to create and send out a script to associated devices. The output of this script will be what's written as the value for your custom field. You also have the option to set the output of the script as the custom field value only if the script has the exit code of 0. This option is for both macOS and Windows using the following script types:

Important: Python and Perl will need to be installed on your Windows clients. When installing Python and Perl make sure a system path is added to environment variables during install.

The Script will be executed after each verify, before sending inventory data.

Another option you have for script, is setting launch arguments and Environment Variables. (This option is also for any scripts you have in Desktop Filesets) So now any inventory field value can be plugged into a script.

edit custom field values 2.png

client script.pnglaunch arguments.png

environment variables.png

Dates must be ISO-8601 format (for instance: 2011-08-27T23:22:37Z).

The last line feed will be ignored to ease conversion, as commands like "echo" (bash) or "print" (python) add a line feed at the end of standard output.  Scripts are stored encrypted on the disk and the FileWave client will automatically decrypt them when it needs to run. The encryption used is RSA 2048 bits, with no symmetric key exchange (only RSA).

Client Command Line

This is used for existing Custom Fields that were made prior to FileWave 12.7.0 using a script to write to the custom.ini file on the client, this generally won't be used going forward for new custom fields. But if you have used custom queries with FileWave before, you will notice all of those are still present in the Custom Fields window. This will also allow you to now change the names from the deafult "custom_string_01" name for instance, to whatever you like.


You will be able to pull attribute values from whichever directory service is being extracted in the LDAP tab in FileWave Preferences. These values are then assigned to your devices in FileWave so that you can query them at anytime. You will simply find the attribute you would like to query such as "department", which in this case is a String type. Your chooses are String, Integer, Boolean, Date/Time. If the value does not match the data type you will get a type conversion error flag when the value is pulled. Then the object class which is either user or computer: