We attempt to record only actual hardware printers.

We try to filter out such things as "PDF Printers", "XPS Document Writers", etc, etc (these may be stored in the software table at a later stage).

Network Printers

If a printer has an IP address, it is a network printer.

Local Printers

If a printer does not have an IP address, it is a local printer.

If we have a local printer, the PHP processing associates it in the system table with the system_id of the computer. This is stored in the 'linked_sys' column.

The system key

All devices should have a unique "system_key" field in the system table. For printers, this is calculated such:

If the printer has an IP Address (and is therefore a network printer), an attempt to determine the FQDN is used, if this fails the IP address is used. This is the same as other network devices (think switches, routers, etc).

If printer does not have an IP address, it uses the hostname of the attached computer, concatenated with the DeviceID (taken from the attached computer).

The DeviceID has spaces replaced with underscores. The two fields are joined with an underscore.

Printers are stored in the system table with the following attributes: