Filter Field Reference

Several parts of Athena let you describe machines with rules instead of hand-picking them: dynamic collections, automatic tagging rules, device monitors, and the report column picker. They all draw from one shared catalogue of filter fields. This page lists every predefined field, its data type, and the operators you can use against it, so you can write a rule once and know it will resolve.

One catalogue, four builders

Because the field list is shared, a field path that works in a dynamic collection also works in a tagging rule, a monitor condition, or as a report column. Field paths are case-insensitive.

Anatomy of a filter#

A single filter is a three-part comparison: a field path (which agent value to read), an operator (how to compare it), and a value (what to compare against). For example, OperatingSystem · Equals · Windows matches every Windows machine. Multiple filters are combined by the builder you are using (for example, a dynamic collection matches agents that satisfy all of its filters).

Each field has a type — String, Number, Boolean, or DateTime — and the type determines which operators are valid (see Operators). Values are compared as the field's type: numbers numerically, dates as timestamps, booleans as True/False, and strings textually.

Operators#

Ten operators are available. Which ones apply to a field depends on the field's type — for instance, Contains is a string operator, and GreaterThan only makes sense for numbers and dates.

OperatorMatches when the field value…Valid for field types
Equalsequals the valueString, Number, Boolean, DateTime
NotEqualsdoes not equal the valueString, Number, Boolean, DateTime
Containscontains the value as a substringString
NotContainsdoes not contain the valueString
StartsWithstarts with the valueString
EndsWithends with the valueString
GreaterThanis greater than the valueNumber, DateTime
LessThanis less than the valueNumber, DateTime
GreaterThanOrEqualis greater than or equal to the valueNumber, DateTime
LessThanOrEqualis less than or equal to the valueNumber, DateTime

The default operator offered for a new filter is Contains for String fields and Equals for Number, Boolean, and DateTime fields.

Predefined fields#

The fields below are always available, grouped by the category they appear under in the picker. Field paths that contain a dot (for example HardwareInfo.Disks.FreeSizeGB) read into a nested or multi-valued area of a machine's inventory.

Agent#

Field pathDisplay nameTypeNotes
MachineNameMachine NameStringThe computer / hostname of the agent (e.g. SERVER01, WEB-SERVER-01).
MachineIdMachine IDStringUnique machine identifier.
OperatingSystemOperating SystemStringOS family only (Windows, Linux, MacOS). Use OSVersion for the edition and build.
IpAddressIP AddressStringNetwork IP address(es).
StatusAgent StatusStringOnline or Offline.
LastHeartbeatLast HeartbeatDateTimeLast contact time with the server.
RegisteredAtRegistration DateDateTimeWhen the agent was first registered.
AgentVersionAgent VersionStringInstalled agent version (e.g. 1.1.0).

Agent Status#

Field pathDisplay nameTypeNotes
IsOnlineIs OnlineBooleanTrue if the agent is currently online.
IsOfflineIs OfflineBooleanTrue if the agent is currently offline.
IsPendingIs PendingBooleanTrue if the agent is in a pending state.
IsStaleIs StaleBooleanTrue if no heartbeat was received in the last 5 minutes.
HasRecentInventoryHas Recent InventoryBooleanTrue if inventory was reported within the last 24 hours.
IsCertificateExpiredCertificate ExpiredBooleanTrue if the agent certificate has expired.
IsCertificateExpiringSoonCertificate Expiring SoonBooleanTrue if the agent certificate expires within 30 days.

System Type#

Field pathDisplay nameTypeNotes
IsServerIs ServerBooleanTrue if running a Windows Server operating system.
IsDesktopIs DesktopBooleanTrue if a desktop OS (not a server).
IsLaptopIs LaptopBooleanTrue if the chassis is Laptop — includes convertibles and detachables.
IsTabletIs TabletBooleanTrue if a pure tablet (no keyboard); convertibles and detachables count as laptops.
IsSFFIs Small Form FactorBooleanTrue if a small form factor desktop (Mini PC, Stick PC or Embedded PC).
IsConvertibleIs ConvertibleBooleanTrue if a convertible laptop (fold-back screen). Also counts as a laptop.
IsDetachableIs DetachableBooleanTrue if a detachable laptop (removable keyboard). Also counts as a laptop.
ChassisTypeChassis TypeStringChassis category: Laptop, Desktop, Tablet, Server, Other or Unknown. The specific shape is FormFactor — see Chassis & form factor.
FormFactorForm FactorStringSpecific form factor within the category: Convertible, Detachable, Notebook, Tower, Mini Tower, Mini PC, All-in-One, Rack Mount, etc.
IsVirtualMachineIs Virtual MachineBooleanTrue if running as a virtual machine.
IsWindowsIs WindowsBooleanTrue if running Windows.
IsLinuxIs LinuxBooleanTrue if running Linux.
IsMacOSIs macOSBooleanTrue if running macOS.
IsDomainControllerIs Domain ControllerBooleanTrue if this is an Active Directory Domain Controller.
IsDomainJoinedIs Domain JoinedBooleanTrue if the machine is joined to an Active Directory domain.

Hardware#

Disk fields match if any of a machine's own fixed drives satisfies the condition — so "Disk Free Space (GB) below 500" flags a machine when any one of its drives drops under 500 GB. Removable drives (such as USB sticks) and mapped network drives are ignored, as are boot/recovery stubs, so a plugged-in flash drive can't skew the result.

Field pathDisplay nameTypeNotes
HardwareInfo.ProcessorProcessor/CPUStringCPU model and specifications.
HardwareInfo.TotalMemoryMBTotal Memory (MB)NumberTotal RAM in megabytes (e.g. 8192, 16384, 32768).
HardwareInfo.ManufacturerManufacturerStringHardware manufacturer (Dell, HP, Lenovo, …).
HardwareInfo.ModelModelStringHardware model number.
HardwareInfo.Disks.NameDisk NameStringDrive letter or mount point of any fixed drive (C:, D:, /, …).
HardwareInfo.Disks.TotalSizeGBDisk Total Size (GB)NumberTotal capacity in GB; matches if any fixed drive matches.
HardwareInfo.Disks.FreeSizeGBDisk Free Space (GB)NumberFree space in GB; matches if any fixed drive matches.
ManufacturerManufacturerStringHardware manufacturer name.
ModelModelStringComputer model name.
SerialNumberSerial NumberStringHardware serial number.
TotalMemoryMBTotal Memory (MB)NumberTotal physical RAM in megabytes.

Software#

Installed-software fields match if any installed application satisfies the condition — for example, "Software Name contains Chrome" matches any machine that has Chrome installed.

Field pathDisplay nameTypeNotes
InstalledSoftware.NameSoftware NameStringName of an installed application.
InstalledSoftware.VersionSoftware VersionStringApplication version number.
InstalledSoftware.PublisherSoftware PublisherStringSoftware vendor / publisher.

Services#

Windows service fields match if any service on the machine satisfies the condition.

Field pathDisplay nameTypeNotes
Services.ServiceNameService NameStringWindows service name (e.g. wuauserv, W32Time, Spooler).
Services.DisplayNameService Display NameStringFriendly display name for the service.
Services.StatusService StatusStringService state: Running, Stopped, Paused.
Services.StartupTypeService Startup TypeStringAuto, Manual, Disabled, Automatic (Delayed).

Network#

Field pathDisplay nameTypeNotes
NetworkInterfaces.InterfaceNameNetwork Interface NameStringName of a network adapter (Ethernet 1, Wi-Fi, …).
NetworkInterfaces.MacAddressMAC AddressStringPhysical/hardware address of a network adapter.
NetworkInterfaces.IpAddressNetwork IP AddressStringIP address(es) assigned to a network interface.

Security#

Field pathDisplay nameTypeNotes
TPMPresentTPM PresentBooleanTrue if a TPM (Trusted Platform Module) chip is present.
TPMVersionTPM VersionStringTPM version number (e.g. 2.0, 1.2).
TPMEnabledTPM EnabledBooleanTrue if TPM is enabled.
SecureBootSecure BootStringWhether Secure Boot is on, as reported by the agent. The stored value is true or false, so filter with Equals · true (case is ignored) rather than a word such as Enabled.
RestartPendingRestart PendingBooleantrue when the machine needs a restart for any reason: Windows servicing (component servicing, Windows Update, or pending file renames) or the Secure Boot certificate update waiting for a reboot. Same answer as the Restart Pending field on the agent's Boot & Security card.

Security: Secure Boot 2023 certificate update#

These fields are also in the Security category. They track the Windows Secure Boot 2023 certificate rollout on each Windows machine. See Secure Boot 2023 Certificate Update for what each state and event means.

Field pathDisplay nameTypeNotes
SecureBootUpdateStateSecure Boot Update StateStringThe overall update state shown on the agent's card, worked out from all the evidence the agent reports: Updated, Failed, PendingRestart, InProgress, Blocked, or NotStarted. Prefer this field over SecureBootCertStatus, which Windows often updates late.
SecureBootRestartPendingSecure Boot Restart PendingBooleantrue when the certificate update is waiting for a reboot (the state is PendingRestart). For "needs a restart for any reason", use RestartPending.
SecureBootCertStatusSecure Boot Cert Status (2023)StringThe raw status Windows reports, e.g. NotStarted, InProgress, Updated.
SecureBootCertUpdateCompleteSecure Boot Cert Update CompleteBooleantrue when the update finished (event 1808 or status Updated).
SecureBootLatestEventIdSecure Boot Latest Event IDNumberID of the newest Secure Boot servicing event in the System log, e.g. 1801, 1808.
SecureBootCertErrorSecure Boot Cert ErrorNumberThe update error code Windows reports (0 = none).
SecureBootLastFailureCodeSecure Boot Last Failure CodeNumberError code of the newest 1795/1796 failure event, as a signed 32-bit number. For example, 0x80071149 is stored as -2147020471.
SecureBootKnownIssueIdSecure Boot Known Issue IDStringMicrosoft known-issue ID taken from the servicing event, e.g. KI_7.
SecureBootBucketIdSecure Boot Bucket IDStringDevice bucket ID taken from the servicing event. Machines of the same hardware type share a bucket.
SecureBootDbHasWindowsUefiCa2023Firmware db Has Windows UEFI CA 2023Booleantrue when the firmware's db, read directly from the firmware, holds the Windows UEFI CA 2023.
SecureBootKekHas2023Firmware KEK Has 2023 CABooleantrue when the firmware's KEK holds the Microsoft Corporation KEK 2K CA 2023.

An agent that reports no Secure Boot servicing data (for example a Linux agent, a legacy-BIOS machine, or an older agent) has no value for these fields. As with every field, it then matches only NotEquals and NotContains. So to target machines that still need the update, use SecureBootUpdateState · Equals · NotStarted rather than NotEquals · Updated, which would also match those machines.

System Information#

Field pathDisplay nameTypeNotes
DomainNameDomain NameStringActive Directory domain name (or WORKGROUP).
UserNameUser NameStringCurrent user the agent runs as.
OSVersionOS VersionStringDetailed OS version, edition, and build (e.g. Microsoft Windows 11 Pro).
TimeZoneTime ZoneStringSystem time zone.

Advanced#

Field pathDisplay nameTypeNotes
MetadataMetadata (All Fields)StringSearches across all of a machine's collected metadata for a value. Useful as a catch-all when you're not sure which specific field carries the value.

Scan-discovered fields#

In addition to the predefined fields above, Athena offers filterable fields discovered from your own PowerShell scan results. Once an enabled scan has returned data, each property it reports becomes an additional field you can filter on, using the path form:

Scan.<scanDefinitionId>.<fieldName>

These appear in a category named after the scan (for example Scan: Disk Health). Scan fields are offered as String fields, so all string operators apply. A field is offered as soon as it appears in any recent result across the fleet — so a property that only some machines report is still selectable.

Module fields#

Add-on modules contribute their own filter fields to the same catalogue. They use the path form:

Module.<moduleId>.<fieldName>

In the picker, module fields appear in a category named after the module (for example Sysmon, BitLocker, Power Management, BIOS Configuration or Restart Policies). Because they come from the shared catalogue, you can use them in dynamic collections, automatic tagging rules, device monitors, and report filters, just like the predefined fields.

Types and operators#

Module field typeOperators offeredHow values compare
BooleanEquals, NotEqualsValues are true or false.
Enum (a fixed list of values)Equals, NotEqualsThe picker lists the allowed values. Shown as a String field.
VersionEquals, NotEquals, GreaterThan, LessThan, GreaterThanOrEqual, LessThanOrEqualCompared as dotted versions, so 15.22 is greater than 15.9. A bare major number such as 15 is read as 15.0.
NumberSame as VersionCompared numerically.
StringEquals, NotEquals, Contains, NotContains, StartsWith, EndsWithCompared as text, ignoring case.

Sysmon#

These fields report each agent's Sysmon state, as shown on the agent's Sysmon tab. See Sysmon Configuration.

Field pathDisplay nameTypeNotes
Module.sysmon.InstalledSysmon InstalledBooleanWhether Sysmon is installed, from the agent's last report.
Module.sysmon.StateSysmon StateEnumOne of Unknown, Unsupported, Error, NotInstalled, NoConfig, NoActiveRevision, InSync, Drift.
Module.sysmon.VersionSysmon VersionVersionInstalled Sysmon binary version.
Module.sysmon.SchemaVersionSysmon Schema VersionVersionSchema version of the loaded configuration.
Module.sysmon.ConfigHashSysmon Config HashStringHash of the configuration currently loaded on the agent.
Module.sysmon.ExpectedRevisionSysmon Expected RevisionNumberThe configuration revision Athena expects this agent to run.

BitLocker#

These fields come from the BitLocker volume status each Windows agent reports. See BitLocker Management. Most of them describe the OS drive, and have no value for an agent that has not reported an OS volume. A drive counts as encrypted only once it is fully encrypted. A drive that is still encrypting does not count yet.

Field pathDisplay nameTypeNotes
Module.bitlocker.ProtectionStatusBitLocker OS Drive ProtectionEnumOS drive protection: On, Off, or Unknown.
Module.bitlocker.EncryptionMethodBitLocker OS Drive Encryption MethodStringThe OS drive's encryption method as Windows reports it (for example XtsAes256 or None).
Module.bitlocker.OsDriveEncryptedBitLocker OS Drive EncryptedBooleantrue when the OS drive is fully encrypted.
Module.bitlocker.AnyUnencryptedFixedBitLocker Any Unencrypted Fixed DriveBooleantrue when any fixed data drive (not the OS drive) is not fully encrypted.
Module.bitlocker.ReadinessBitLocker ReadinessEnumFor the OS drive: Capable or NotCapable.
Module.bitlocker.SyncStatusBitLocker Sync StatusEnumThe agent's enforcement sync state: InSync, Drift, Suspended, NotCapable, Applying, Failed or Unmanaged. Empty for an agent that has never been evaluated.

SyncStatus has no value for an agent that has never been evaluated. Such an agent is not Unmanaged. So Module.bitlocker.SyncStatus · Equals · Drift lists exactly the agents that the Drift tile on the BitLocker settings tab counts. Like any field, NotEquals also matches agents that have never been evaluated.

Power Management#

These fields compare each agent's reported power settings with the power policy that applies to it. See Power Management.

Field pathDisplay nameTypeNotes
Module.power.DriftStatePower Drift StateEnumThe agent's worst setting state, checked in this order: Failed, Drift, NotCapable, PolicyManaged, NotReportedSince, NotReported, Unmanaged, InSync. So one failed setting is never hidden by many in-sync ones. It is recalculated against the current policy each time.
Module.power.ManagedPower Policy ManagedBooleantrue when an enabled power policy applies to the agent.
Module.power.HasBatteryPower Has BatteryBooleanFrom the agent's last report. false if the agent has never reported.
Module.power.PolicyNamePower Policy NameStringName of the policy in effect. Empty for an agent no policy manages.

Unlike most fields, DriftState, Managed and HasBattery always have a value. An agent that has never reported power settings is NotReported, and an agent no policy manages is Unmanaged. So Module.power.DriftState · Equals · Drift lists exactly the machines to fix. PolicyName is the one field that can be empty. To ask whether anything manages a machine, filter on Managed instead.

BIOS Configuration#

These fields compare each Windows agent's last BIOS read with the BIOS baseline that governs it. Drift is worked out when the rule is evaluated, never stored. See BIOS Configuration.

Field pathDisplay nameTypeNotes
Module.bios.ComplianceStateBIOS compliance stateEnumOne of Compliant, Drifted, Unknown, NoBaseline, NotSupported, NotReported. Linux and macOS agents are NotSupported.
Module.bios.CompliantBIOS compliantBooleantrue only when the state is Compliant.
Module.bios.DriftCountBIOS drifted attributesNumberHow many managed attributes differ from the baseline.
Module.bios.BaselineNameBIOS baselineStringName of the baseline that governs the machine. Empty when none does.

ComplianceState, Compliant and DriftCount always have a value, so Module.bios.ComplianceState · NotEquals · Compliant matches only agents that really have that state, Linux and macOS included as NotSupported. To find the machines to fix, use Module.bios.ComplianceState · Equals · Drifted.

Restart Policies#

These fields come from the restart state each agent last reported for Restart Policies, on Windows, Linux and macOS. An agent that has never reported its restart state has no value for any of them.

Field pathDisplay nameTypeNotes
Module.restart.StateRestart stateEnumOne of NotPending, Pending, Scheduled, Countdown, Snoozed, Overdue, Restarting, PendingAfterRestart, ExternallyScheduled, WaitingForSignedInUser, NotManaged, RestartFailed, WaitingForUnlock. See Fleet view and states.
Module.restart.PrebootProtectorPre-boot protectorStringWhat has to be entered at the machine before it can boot (see PIN and FileVault machines): TpmPin, TpmStartupKey, TpmPinStartupKey, Password, ExternalKey, FileVault or Unknown. Empty when nothing is needed. It is a text field, not a fixed list, so you can match that empty value.
Module.restart.PendingHoursRestart pending (hours)NumberWhole hours since the restart became pending, rounded down. No value when no restart is pending.
Module.restart.ReasonsRestart reasonsStringA comma-separated list of why the restart is needed, for example OsUpdate,FileRename. Possible entries: ServicingStack, OsUpdate, Kernel, FileRename, ComputerRename, DomainJoin, SecureBoot, ConfigMgr, AthenaDeployment, Uptime, ScheduledRestart. Empty when there is no reason.
Module.restart.UptimeDaysUptime (days)NumberWhole days since the machine's last boot, rounded down. No value when the agent has not reported a boot time.
Module.restart.PolicyRestart policyStringName of the restart policy this server has in force on the agent. Empty when none is in force, including when another server's policy holds the machine.

Use Contains on Reasons, because one machine can have several reasons: Module.restart.Reasons · Contains · OsUpdate. To find machines no restart policy on this server governs, use Module.restart.Policy · Equals with an empty value. To alert on machines that have gone too long without a reboot, use Module.restart.UptimeDays · GreaterThan · 30 in a device monitor. The Agents list also takes these fields in its address, for example /agents?field=Module.restart.State&value=Overdue.

Things to know#

Getting the live list#

The builders read this catalogue live, so it always reflects your current scan fields. You can fetch the same list from the API:

EndpointReturnsRequired permission
GET api/collections/fieldsPredefined fields, discovered scan fields, and fields from licensed modules, for the dynamic-collection builder.Operator or Admin
GET api/tagging-rules/fieldsThe same field catalogue as offered to the tagging-rule editor.Users who can view tags
Only fields on this list resolve

A rule that names a field outside this catalogue (and outside your discovered scan fields) won't match anything, because Athena has no value to read for it. When in doubt, pick a field from the picker or from the live list above rather than typing a path by hand.

Where these fields are used#