Custom Fields
Custom Fields let you create custom inventory values and assign or populate them through administrator values, client scripts, legacy command-line values, LDAP, or CSV import. In FileWave Central, open Assistants > Custom Fields, then choose Import CSV or Edit Custom Fields.
Do not use special characters in Custom Field names.
See Importing and Exporting Custom Field Files
Display Name
The customer-facing name admins see when they work with the Custom Field later.
Internal Name
The system-wide variable name used to reference the Custom Field value.
FileWave can create a Custom Field internal name that matches a built-in inventory item, such as %location%. When you reference custom values, use the prefixes below to avoid collisions with built-in inventory variables.
| Method | Prefix | Example |
| MDM Profile | custom_field | %custom_field.location% |
| Scripted (Launch Argument or Environment Variable) | CustomFields | %CustomFields.location% |
Provided by
This defines where the field comes from and also how it is updated.
Administrator
Use Administrator when admins should set the value directly on selected devices. The value is admin-managed data, so the client does not need to return anything from the device. Assigned to all devices associates the Custom Field with all existing devices and new devices as they enroll. After you choose the Data Type, set a Default Value or enable Restrict Allowed Values. If you restrict allowed values, enter the allowed list and optionally choose a default. To change a device's value later, right-click the device, select Edit Custom Field(s) Value, then double-click the Field Value column and choose a value.


Client Script
Client Script sends a script to associated devices and writes the script output as the Custom Field value. You can require exit code 0 before FileWave accepts the output. Client Script Custom Fields support macOS and Windows with these script types:
- Shell
- Python
- Perl
- Bat
- PowerShell
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 runs after each verify, before the client sends inventory data.
You can also pass launch arguments and environment variables into scripts, including scripts in desktop Filesets. This lets a script use existing inventory field values as inputs.




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
Client Command Line is for legacy Custom Fields that used a script to write to custom.ini on the client. Use Client Script for new Custom Fields. If you previously used custom inventory values in FileWave, those values still appear in the Custom Fields window, and you can rename defaults such as custom_string_01 to clearer names.
LDAP
LDAP Custom Fields pull attribute values from the directory service configured in the LDAP tab of FileWave Preferences. FileWave assigns those values to devices so they can be used in inventory and reporting. Choose the LDAP attribute, such as department, then choose the data type: String, Integer, Boolean, or Date/Time. If the LDAP value does not match the selected data type, FileWave reports a type conversion error. Then choose whether the object class is user or computer:
- User: LDAP entry is matched using either Authusername for iPads or the last LDAP user to log into a macOS and Windows device.
- Computer: LDAP entry is found using the device name in inventory against the computer name in the LDAP directory.

How often does LDAP get scanned for updated values?
FileWave scans LDAP when a Custom Field is assigned to a device or when the LDAP server syncs in FileWave Preferences, either manually or at the configured refresh interval. If an LDAP Custom Field is modified, FileWave schedules the directory scan after 120 seconds, which is the minimum delay. To change that delay, contact FileWave Support.

Other LDAP Considerations:
If the value of the attribute you specified is empty or the attribute is not found in LDAP, then the value of the Custom Field will simply be empty.
In the case of an attribute that has multiple entries, all entries will be returned as encoded JSON array for string custom fields. For other types of custom fields the value would contain the type conversion error flag instead. The order of entries in the JSON array is not specified.
It may happen where no matching LDAP user or computer is found for a given client associated with LDAP custom field(s). In this case, the appropriate status for custom fields values will be set upon extraction ("Matching LDAP User/Computer Not Found"). Administrator has a global option to clear current custom field(s) value when such situation occurs. The option can be found in Preferences, Inventory tab, "Clear value if there is no match between client and LDAP user or computer" checkbox.
Importing from a CSV
Use CSV import to update values for Custom Fields that are already associated with devices. In the Import Custom Fields CSV window, FileWave provides a template where you choose the Custom Fields to include and the device identifier to use. Devices can be identified by FileWave Client Name, Serial Number, Device ID, or FileWave ID.
CSV import updates only Custom Fields already associated with the target devices. If a CSV includes a value for a device that does not already have that Custom Field associated, FileWave skips that value and reports an error.


No comments to display
No comments to display