Skip to content

Windows resources

The seven resource types that inspect Windows subsystems through PowerShell.

On this page

These seven resource types read Windows subsystems, all of them through PowerShell. Give a control that uses them platform = ["windows"], so it is omitted on other targets rather than erroring there.

registry

Key-addressed, for example HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion.

Attribute Type Notes
key string, address
exists bool
value_name string Value under the key
value string Expected string form. DWORD and QWORD use the decimal integer as a string
type string String, DWord, QWord, MultiString, ExpandString, Binary

windows_feature

Name-addressed, for example Web-Server or Telnet-Client.

Attribute Type
name string, address
installed bool

security_policy

Label-only. Reads the Local Security Policy exported by secedit /export /cfg, an INF file with sections such as [System Access], [Privilege Rights], and [Event Audit].

Attribute Type Notes
section string, required For example System Access
key string, required For example MinimumPasswordLength
value string Exact match after trimming
min_value int
max_value int
check "password-length" "security_policy" {
  section   = "System Access"
  key       = "MinimumPasswordLength"
  min_value = 14
}

audit_policy

Name-addressed by subcategory, for example Logon or Account Lockout, read via auditpol.exe.

Attribute Type Notes
name string, address Subcategory
setting string, required Case-insensitive: No Auditing, Success, Failure, Success and Failure

It refuses a non-Windows target with an explanatory failing assertion.

windows_firewall

Name-addressed, with two modes decided by the address.

Profile mode applies when the address is Domain, Private, or Public:

Attribute Type Notes
enabled bool
default_inbound_action string Block or Allow
default_outbound_action string Block or Allow

Rule mode applies to any other address, which is read as a rule display name:

Attribute Type Notes
rule_exists bool
enabled bool Shared with profile mode
action string Allow or Block
direction string Inbound or Outbound

windows_hotfix

Name-addressed by KB identifier, for example KB5005565, via Get-HotFix.

Attribute Type
name string, address
installed bool

windows_scheduled_task

Name-addressed by full task path, for example \Vendor\Updater. Vendor updaters and persistence mechanisms both live here.

Attribute Type Notes
name string, address
exists bool
enabled bool
run_as string Principal (UserId), case-insensitive, for example SYSTEM