Windows Supported Facts
Generated from docs/schema/facts.yaml
. conditional entries may be absent on a host when their preconditions do not hold.
Example Output
$ facts --json
{
"fips_enabled": false,
"kernel": {
"name": "windows",
"release": {
"full": "10.0.22631",
"major": "10",
"minor": "0",
"patch": "22631"
},
"version": {
"full": "10.0.22631"
}
},
"networking": {
"hostname": "winbuild01",
"interfaces": {
"Ethernet": {
"ip": "192.0.2.30",
"mac": "00:15:5d:00:00:01",
"mtu": 1500
}
}
},
"os": {
"family": "windows",
"name": "windows",
"windows": {
"system32": "C:\\Windows\\System32"
}
},
"path": [
"C:\\Windows\\system32",
"C:\\Windows"
]
}
Fact Contract
101 schema entries include windows.
| Fact | Type | Conditional | Description |
|---|---|---|---|
augeas.version | string | yes | The Augeas version reported by augparse, when Augeas is installed. |
az_metadata | map | yes | The Azure Instance Metadata Service tree, on Azure virtual machines. |
cloud.provider | string | yes | The cloud provider hosting the machine: aws, azure, or gce. |
dmi.manufacturer | string | yes | The manufacturer of the system. |
dmi.product.name | string | yes | The product name of the system (the hardware model on macOS). |
dmi.product.serial_number | string | yes | The serial number of the system. |
dmi.product.uuid | string | yes | The hardware UUID of the system. |
ec2_metadata | map | yes | The EC2 instance metadata tree, on AWS instances. |
ec2_userdata | string | yes | The EC2 instance user data, on AWS instances that define it. |
facterversion | string | no | The Facter compatibility version of the Facts engine. |
fips_enabled | boolean | no | Whether the platform enforces FIPS-validated cryptography. |
gce | map | yes | The Google Compute Engine metadata tree, on GCE instances. |
hypervisors.hyperv | map | yes | Hyper-V guest details, when running on Microsoft Hyper-V (including Azure). |
hypervisors.kvm | map | yes | KVM guest details, when running on a KVM hypervisor. |
hypervisors.kvm.google | boolean | yes | Whether the KVM hypervisor is Google Compute Engine. |
hypervisors.kvm.openstack | boolean | yes | Whether the KVM hypervisor is OpenStack. |
hypervisors.virtualbox | map | yes | VirtualBox guest details, when running on VirtualBox. |
hypervisors.virtualbox.revision | string | yes | The revision of the VirtualBox hypervisor. |
hypervisors.virtualbox.version | string | yes | The version of the VirtualBox hypervisor. |
hypervisors.vmware | map | yes | VMware guest details, when running on VMware. |
hypervisors.xen | map | yes | Xen guest details, when running on Xen. |
hypervisors.xen.context | string | yes | The Xen virtualization context: hvm or pv. |
identity.privileged | boolean | no | Whether Facts is running with root (or Administrator) privileges. |
identity.user | string | no | The name of the user running Facts. |
is_virtual | boolean | no | Whether the machine is a virtual machine or container. |
kernel.name | string | no | The kernel name, such as Linux, Darwin, windows, FreeBSD, or Plan 9. |
kernel.release.full | string | no | The full kernel release reported by the system. |
kernel.release.major | string | no | The major component of the kernel release. |
kernel.release.minor | string | no | The minor component of the kernel release. |
kernel.release.patch | string | yes | The patch component of the kernel release, when one is present. |
kernel.version.full | string | no | The kernel version, without any release suffix. |
load_averages.15m | double | no | The 15-minute system load average (null on Windows). |
load_averages.1m | double | no | The 1-minute system load average (null on Windows). |
load_averages.5m | double | no | The 5-minute system load average (null on Windows). |
memory.system.available | string | no | The display amount of free physical memory, such as 1.00 GiB. |
memory.system.available_bytes | integer | no | The free physical memory, in bytes. |
memory.system.capacity | string | no | The percentage of physical memory in use. |
memory.system.total | string | yes | The display amount of total physical memory, such as 16.00 GiB. |
memory.system.total_bytes | integer | yes | The total physical memory, in bytes. |
memory.system.used | string | no | The display amount of physical memory in use, such as 1.00 GiB. |
memory.system.used_bytes | integer | no | The physical memory in use, in bytes. |
mountpoints.* | map | yes | A mounted filesystem, keyed by mount path. |
networking.dhcp | string | no | The DHCP server of the primary interface, when known. |
networking.domain | string | yes | The DNS domain of the host, when one is configured. |
networking.fqdn | string | no | The fully qualified domain name of the host. |
networking.hostname | string | yes | The short host name of the machine. |
networking.interfaces.* | map | yes | A network interface, keyed by interface name. |
networking.interfaces.*.bindings | array | yes | The IPv4 bindings of the interface (address, netmask, network). |
networking.interfaces.*.bindings6 | array | yes | The IPv6 bindings of the interface (address, netmask, network, scope6, flags). |
networking.interfaces.*.dhcp | string | yes | The DHCP server of the interface, when known (null on Windows interfaces without one). |
networking.interfaces.*.dns_suffix | string | yes | The connection-specific DNS suffix of the interface. |
networking.interfaces.*.ip | string | yes | The first IPv4 address bound to the interface. |
networking.interfaces.*.ip6 | string | yes | The first IPv6 address bound to the interface. |
networking.interfaces.*.mac | string | yes | The MAC address of the interface. |
networking.interfaces.*.mtu | integer | yes | The maximum transmission unit of the interface. |
networking.interfaces.*.netmask | string | yes | The IPv4 netmask of the interface’s first binding. |
networking.interfaces.*.netmask6 | string | yes | The IPv6 netmask of the interface’s first binding. |
networking.interfaces.*.network | string | yes | The IPv4 network of the interface’s first binding. |
networking.interfaces.*.network6 | string | yes | The IPv6 network of the interface’s first binding. |
networking.interfaces.*.scope6 | string | yes | The IPv6 scope of the interface’s first binding, such as global or link. |
networking.ip | string | yes | The IPv4 address of the primary interface. |
networking.ip6 | string | yes | The IPv6 address of the primary interface. |
networking.mac | string | yes | The MAC address of the primary interface. |
networking.mtu | integer | yes | The maximum transmission unit of the primary interface. |
networking.netmask | string | yes | The IPv4 netmask of the primary interface. |
networking.netmask6 | string | yes | The IPv6 netmask of the primary interface. |
networking.network | string | yes | The IPv4 network of the primary interface. |
networking.network6 | string | yes | The IPv6 network of the primary interface. |
networking.primary | string | yes | The name of the primary interface. |
networking.scope6 | string | yes | The IPv6 scope of the primary interface, such as global or link. |
os.architecture | string | no | The operating system’s hardware architecture, such as x86_64 or arm64. |
os.family | string | no | The operating system family, such as Debian, RedHat, Darwin, windows, or Plan 9. |
os.hardware | string | no | The hardware model of the machine, such as x86_64. |
os.name | string | no | The operating system name, such as Ubuntu, Darwin, windows, or Plan 9. |
os.release.full | string | no | The full release number of the operating system. |
os.release.major | string | no | The major release number of the operating system. |
os.windows.display_version | string | yes | The Windows display version, such as 24H2 (Windows 10 20H2 and later). |
os.windows.edition_id | string | no | The Windows edition identifier, such as ServerDatacenter. |
os.windows.installation_type | string | no | The Windows installation type, such as Server or Client. |
os.windows.product_name | string | no | The Windows product name, such as Windows Server 2022 Datacenter. |
os.windows.release_id | string | no | The Windows release identifier (the display version when available). |
os.windows.system32 | string | no | The native system32 directory, sysnative-aware for 32-bit processes. |
path | array | no | The PATH environment entries of the Facts process, in lookup order. |
processors.cores | integer | no | The number of cores per processor socket. |
processors.count | integer | yes | The number of logical processors. |
processors.extensions | array | no | The instruction set architectures the processors support, including the base architecture and x86_64 microarchitecture levels. |
processors.isa | string | yes | The processor instruction set architecture, as reported by the platform. |
processors.models | array | yes | The processor model strings, one entry per logical processor. |
processors.physicalcount | integer | no | The number of physical processor sockets. |
processors.threads | integer | no | The number of hardware threads per core. |
ssh | map | yes | The structured SSH host key tree, when host keys are visible. |
ssh.*.fingerprints.sha1 | string | yes | The SSHFP SHA-1 fingerprint of the SSH host key, keyed by key algorithm. |
ssh.*.fingerprints.sha256 | string | yes | The SSHFP SHA-256 fingerprint of the SSH host key, keyed by key algorithm. |
ssh.*.key | string | yes | The public SSH host key, keyed by key algorithm. |
ssh.*.type | string | yes | The SSH host key type, such as ssh-ed25519, keyed by key algorithm. |
system_uptime.days | integer | yes | The whole days the system has been up. |
system_uptime.hours | integer | yes | The whole hours the system has been up. |
system_uptime.seconds | integer | yes | The seconds the system has been up. |
system_uptime.uptime | string | yes | The display form of the system uptime, such as 3 days. |
timezone | string | no | The abbreviated time zone name of the system, such as UTC. |
virtual | string | no | The hypervisor or container technology the machine runs under, or physical. |