Operating System Inventory
For every managed machine, Athena records what operating system it runs — the product name and edition, the version and build number, the CPU architecture, when it was installed, its domain membership, and whether it is a server or a desktop edition. That gives you a single, fleet-wide answer to questions like "how many machines are still on an old Windows build?", "which servers run which edition?" or "which Linux distributions are in the estate?" — without logging in to each device.
What's collected#
Each machine reports a single operating-system record with the following fields. Any field the machine can't provide is simply left blank rather than guessed.
| Field | Meaning |
|---|---|
| Product Name | The friendly OS name — for example Windows 11 Pro, Windows Server 2022 Standard, or on Linux the distribution name such as Ubuntu or Red Hat Enterprise Linux. |
| Display Version | On Windows, the marketing release label (for example 23H2). On Linux, the family the distribution is based on (for example debian for Ubuntu), where the distribution reports one. |
| OS Version | The numeric version string the OS reports for itself (for example a Windows version number, or a formatted distribution version on Linux). |
| OS Build | On Windows, the full build number (including the update-build revision). On Linux, the running kernel version. |
| Edition / SKU | On Windows, the edition as reported by the OS (for example Professional, Enterprise LTSC, Datacenter Server Edition). On Linux, the distribution identifier (for example ubuntu, rhel). |
| Architecture | Whether the OS is 64-bit (x64) or 32-bit (x86). |
| Install Date | When the operating system was installed, where the machine records it. |
| Domain | The domain (or workgroup) the machine belongs to. |
| Registered Owner | The registered owner recorded on the machine, where present. |
| System Root | The OS install directory — for example C:\Windows on Windows, or the root path on Linux. |
| Server edition | A flag for whether the machine runs a server OS edition rather than a desktop one. On Linux this can be undetermined when the distribution can't be classified. |
| Server Core | On Windows, whether the machine runs the minimal Server Core installation (no desktop shell) rather than the full server experience. |
This is read-only discovery. Athena reports what each machine already knows about its own operating system; it never changes, upgrades, or reconfigures the OS. Which fields a given machine can populate depends on what its operating system exposes.
Where to see it#
Open a machine from the Agents list, then in the agent detail view's left-hand navigation choose the Operating System section (under the System group, alongside Overview, Hardware and Boot & Security). It lists the product name, edition, version, build, architecture, install date and domain for that machine.
As with the rest of inventory, the values reflect the machine's last successful collection on its regular reporting cadence rather than a live query at open time. For the wider inventory surface and refresh behaviour, see Inventory.
Platform coverage#
The operating system is inventoried on both Windows and Linux endpoints using each OS's own native facilities, so a mixed fleet answers the same questions consistently — though a few fields are naturally platform-specific.
| Field | Windows | Linux |
|---|---|---|
| Product Name | Windows product name (for example Windows 11 Pro). | Distribution name (for example Ubuntu, Debian GNU/Linux). |
| Display Version | Release label such as 23H2. | Base family the distribution is derived from, where reported. |
| OS Build | Full Windows build number. | Running kernel version. |
| Edition / SKU | Windows edition name. | Distribution identifier (for example ubuntu, rhel). |
| Server Core | Detected for minimal Server Core installs. | Not applicable. |
| Server vs desktop edition | Reported. | Reported where the distribution can be classified; otherwise left undetermined. |
Auditing across the fleet#
The operating system is one of the most useful things to target on, and Athena exposes it as filter fields you can build fleet-wide rules and reports on:
OperatingSystemmatches on the OS family (for example Windows vs a Linux family) — use it for broad "all Windows machines" style targeting.OSVersionmatches on the more specific version string, so you can isolate an exact release or build.
Use these in dynamic collections, automatic tagging rules, device monitors and the report builder's row filters. For the exact operator-per-field rules and the difference between OS family and version, see the Filter Field Reference. Because these fields are shared, a collection of, say, "all Windows Server machines still on an older build" can drive a deployment, a compliance baseline, or a scheduled report.
For a printable estate-wide breakdown — one row per machine with its OS, version and status — build a report from the Agents data source in Reports and include the operating-system columns. That's the quickest way to answer "how many of each OS do we run?" for an audit.
Reading it over the API#
The operating system has its own inventory endpoint. Request it for one agent and read the returned record:
# Fetch the operating-system inventory for one agent
$headers = @{ Authorization = "Bearer $token" }
$os = Invoke-RestMethod `
-Uri "https://athena.example.com:8443/api/agents/$agentId/inventory/os" `
-Headers $headers `
-SkipCertificateCheck
$os.data |
Select-Object productName, displayVersion, osVersion, osBuild, osSku, architecture, domain, isServerOs
From the PowerShell module, the same data is available with a dedicated cmdlet, which also accepts an agent from the pipeline:
# Same data via the module
Get-AthenaAgentOperatingSystem -AgentId $agentId
# Summarise the OS product and build across the whole fleet
Get-AthenaAgent | ForEach-Object {
$o = Get-AthenaAgentOperatingSystem -AgentId $_.Id
[PSCustomObject]@{ Hostname = $_.Hostname; Product = $o.ProductName; Build = $o.OsBuild }
}
The same OS record is also included in an agent's full inventory document
(GET api/agents/{agentId}/inventory) under the operatingSystem object.
Reading inventory requires the Helpdesk role or higher. The endpoint returns
404 when a machine has not yet reported its OS data. For the full inventory surface
and the module reference, see Inventory and the
PowerShell Module.