audit_from_powershell_execution
Execute a Powershell command, script or binary (even in audit mode) and parse its output to report a succes or an error.
⚙️ Compatible targets: Windows
Parameters
Name | Documentation |
---|---|
command | Command or script to execute. This parameter is required. |
successRegex | String or regular expression to compare the output with to define success. This parameter is required. |
Outcome conditions
You need to replace ${command}
with its actual canonified value.
- ✅ Ok:
audit_from_powershell_execution_${command}_ok
- ☑️ Already compliant:
audit_from_powershell_execution_${command}_kept
- 🟨 Repaired:
audit_from_powershell_execution_${command}_repaired
- ☑️ Already compliant:
- ❌ Error:
audit_from_powershell_execution_${command}_error
Example
method: audit_from_powershell_execution
params:
command: VALUE
successRegex: VALUE
Documentation
Execute either a command, a script or a binary even in audit mode - it supports piping.
It will:
- report a success if the execution succeeds and the output matches the given regex.
- report an error otherwise.
Powershell scripts exiting with non-zero return codes will be flagged as failed.
Note: the command will be executed even in Audit mode, it is up to you to make sure it does not impact the system at all.
Note: the regular expression/string to compare to the output are not anchored and are case insensitive.
Examples:
To return success if process explorer
is running, the command
parameter needs to be
Get-Process | ForEach { ${const.dollar}_.ProcessName }
as the output of the command is a toString() on the generated objects, so you need to extract the relevant data. And the successRegex
needs to be explorer
.