Documentation › Using Steward IT Census

Reports

Reports lists the built-in reports by category, plus your own custom reports. Type in the search box at the top to find a report by any words of its name, description or category. Every report can be exported to CSV or PDF, emailed on a schedule (Alerts) as a table in the email or as a PDF attachment, and added to the dashboard. Click a row to open the asset.

Built-in reports#

Category Reports
Inventory All active assets
Operating systems Windows computers by OS version · Operating system summary · Windows 11 hardware readiness (TPM / Secure Boot) · Not restarted in 30+ days
Security End-of-life operating systems · Antivirus missing, disabled or out of date · Drives without BitLocker protection · Firewall disabled · Local administrators · Unauthorized administrators · Network shares
Hardware Computers with less than 8 GB RAM · Disks with less than 10% free · Memory modules and free slots · Monitors · Laptop battery health below 70% · Virtual machines · Hardware by manufacturer & model · Devices without a driver · Devices with problems · Disabled devices (devices)
Software Assets with unauthorized software · Software not yet reviewed · Software changes (last 7 days) · Software count per asset · Automatic services that are stopped · Software license compliance
Vulnerabilities Assets with actively exploited vulnerabilities · Critical vulnerabilities · Assets by open vulnerabilities · Missing Windows updates · Assets not assessed for vulnerabilities (administrators and roles with the Vulnerabilities permission; see Vulnerabilities)
Compliance Compliance score per asset · Failed high-severity configuration checks (administrators and roles with the Compliance permission; see Compliance)
Registry & files Registry values · Files found · Registry keys and files not found (from registry & file scanning)
Network Printers · Network devices (SNMP) · IP phones and ATAs
Users Last logged-on users · Users and the computers they use
Active Directory AD users not logged on for 90 days · AD computers not logged on for 90 days · AD computers never inventoried
Hygiene Not seen in 30 days · Discovered but never inventoried
Lifecycle Warranty expired or expiring in 90 days · Computers without warranty data (warranty lookup)

A PDF has the report's title and description, your company name (Configuration › General settings), the date and page numbers, and the whole table, landscape when it has more than five columns.

Summary reports such as Operating system summary and Hardware by manufacturer & model show a bar chart above the table. Hover a bar for its share of the total; the table below always lists every value.

Report builder#

Reports › New report builds a report by clicking, no SQL needed:

  1. Report on: assets, installed software, devices (Device Manager, PCI and USB, with hardware IDs and drivers), users of computers, changes, registry values, files, or Active Directory users.
  2. Show: a list of rows, or a count per value (for example installs per software version, or assets per OS).
  3. Columns: tick the ones you want (Default columns, All and None are shortcuts).
  4. Filters: field, condition and value, e.g. Software contains "Chrome", Memory (MB) < 8192, Last seen more than 30 days ago, Warranty until is in the next 90 days. With several filters, choose whether rows must match all or any of them. Text comparisons ignore upper/lower case. Archived assets are left out unless you tick Include archived assets.
  5. Sort by a column, ascending or descending.

Versions (Installed software › Version, Files › Version) are compared number by number, so 10.2 is older than 10.10 and 1.2 equals 1.2.0. Their filter conditions include older than, at most, at least and newer than. Example, every computer with an outdated Chrome: report on Installed software, filters Software is "Google Chrome" and Version older than 130.0.6723.70. Sorting by version uses the same order. Versions without any digit (such as latest) never match a comparison.

Deploy to these assets: a report that lists assets has a Deploy to these assets button (for users with the Deployment permission). It opens a new deployment with the report as its target list, to run now or on a schedule; see Deployment.

Run preview shows the result. Give it a title and Save report: it appears under Reports (category Custom unless you choose another), can be emailed on a schedule and added to the dashboard like any other report. Relative dates such as in the last 30 days are worked out each time the report runs. Open a saved report and click Edit to change it.

Charts: with A count per value, choose a bar chart or a donut chart (the six largest values; the rest are added up as Other). The chart appears above the table on the report page and replaces the table when the report is on the dashboard.

Convert to SQL opens the report in the SQL editor below, for anything the builder can't do (joins across sources, calculations). This is one-way: once saved as SQL, the report is edited as SQL.

Custom reports (SQL)#

For advanced users: Reports › New SQL report. Write a SELECT query, click Run preview, then save it with a title and category.

  • Only a single read-only SELECT (or WITH) statement is allowed. It runs on a read-only database connection, and tables holding passwords, sessions or settings aren't available.
  • Return a column named asset_id to make rows clickable.
  • Chart: pick a bar or donut chart to draw the last column (a number, such as COUNT(*)) against the other columns.
  • Results are limited to 10,000 rows. Times are Unix seconds.
  • Tables you can query, next to the editor, lists every table and column a report can read, straight from the database. Type in its search box to find a column, for example hardware_ids.

Moving reports to another Census server#

Export report on a custom report's page, or Export custom reports on Reports, downloads a file with the report's title, category, chart and query or builder settings. On the other server, click Import on Reports (needs the Custom reports permission) and choose that file. SQL reports are checked just like typed ones. If a report with the same title already exists, the copy gets a number, for example Old PCs (2).

Tables#

Table Main columns
assets id, name, asset_type, ip, mac, fqdn, domain, manufacturer, model, serial, os_name, os_version, os_build, cpu, cpu_cores, ram_mb, last_user, assigned_user, is_virtual, source, state, first_seen, last_seen, last_inventory, location, owner, tags, purchase_date, warranty_until, ad_ou, ad_description, custom (JSON), details (JSON)
asset_software asset_id, name, version, version_key, publisher, install_date, first_seen. version_key sorts like the version (s.version_key < '…'); the easiest way to get the right value is a report builder Version filter and Convert to SQL.
software_status name, status (authorized / unauthorized / tolerated)
asset_devices asset_id, name, class, manufacturer, device_id (Windows instance ID / Linux bus address), hardware_ids and compatible_ids (separated by ;), status (ok / problem / disabled), problem_code (Device Manager's code, 28 = no driver), problem, driver, driver_provider, driver_version, driver_date, driver_inf, bus (Linux: pci / usb), first_seen
asset_users asset_id, username, first_seen, last_seen
asset_events asset_id, ts, kind, message
scan_items id, name, kind (registry / file), platform (windows / unix), path, value, subkeys, enabled, track
asset_warranty asset_id, vendor, serial, status (ok / notfound / error), start_date, end_date, ship_date, service, product, source (dell / lenovo / import), checked, error
asset_registry asset_id, item_id, reg_key, name ('' = default value), type (REG_SZ, REG_DWORD…), data, found, last_changed, seen
asset_files asset_id, item_id, path, found, is_dir, size, version, company, description, product, created, modified (RFC 3339 text), owner, mode, last_changed, seen
asset_groups, asset_group_members groups and their members
ad_users, ad_groups, ad_computers Active Directory data
software_licenses, scan_jobs, agents, deployments

The list next to the SQL editor shows all tables, including the ones not described here.

The full inventory of each asset is in details (JSON). With the built-in database use json_extract, for example:

-- Windows computers with less than 8 GB RAM and their BIOS version
SELECT id AS asset_id, name, ram_mb, json_extract(details, '$.bios.version') AS bios
FROM assets
WHERE state = 'active' AND asset_type LIKE 'Windows%' AND ram_mb < 8000
ORDER BY ram_mb;
-- Computers with a given program, and who uses them
SELECT a.id AS asset_id, a.name, s.version, a.last_user
FROM asset_software s JOIN assets a ON a.id = s.asset_id
WHERE s.name LIKE '%TeamViewer%' AND a.state = 'active';
-- Computers with an unknown device, by hardware ID (Device Manager's Details › Hardware Ids)
SELECT a.id AS asset_id, a.name, d.name AS device, d.status, d.hardware_ids
FROM asset_devices d JOIN assets a ON a.id = d.asset_id
WHERE d.hardware_ids LIKE '%VEN_8086&DEV_A3BA%' AND a.state = 'active';
-- Value of a custom field
SELECT id AS asset_id, name, json_extract(custom, '$."Asset tag"') AS tag FROM assets WHERE state = 'active';