TestimoX

API Reference

Command

Get-TestimoXBaseline

Namespace TestimoX.PowerShell
Outputs
ComputerX.Controls.ICxControl TestimoX.Baselines.BaselineComparisonRow TestimoX.Baselines.BaselineControlVariants TestimoX.Baselines.BaselineListEntry TestimoX.Baselines.Crosswalk.CoverageRow TestimoX.Baselines.Crosswalk.CrosswalkDocRow TestimoX.Baselines.Crosswalk.CrosswalkMatchRow TestimoX.Baselines.Crosswalk.CrosswalkSuggester+LinkSuggestion TestimoX.Baselines.Crosswalk.DocSuggester+DocSuggestion TestimoX.Baselines.Crosswalk.GapItem TestimoX.Baselines.Crosswalk.RuleCrosswalkReport

Gets baseline definitions and controls discovered by TestimoX.

Examples

Authored help example

Example 1: List all available baselines

PS>


Get-TestimoXBaseline
        

Example 2: Filter list to a vendor

PS>


Get-TestimoXBaseline -VendorIdFilter MSB
        

Example 3: Get all controls for a specific baseline ID

PS>


Get-TestimoXBaseline -Id 'MSB/Windows-Server-2025/1_0'
        

Example 4: List controls for a vendor/product/version triple

PS>


Get-TestimoXBaseline -VendorId MSB -ProductId WindowsServer2025 -Version '1_0'
        

Example 5: Compare vendors for a product/version pattern (only differences)

PS>


Get-TestimoXBaseline -Compare -ProductId WindowsServer2025 -VersionWildcard '1_*' -OnlyDiff
        

Example 6: Show crosswalk coverage summary for all TestimoX rules

PS>


Get-TestimoXBaseline -CrosswalkSummary
        

Example 7: Show mapped docs and vendor matches for a specific rule

PS>


Get-TestimoXBaseline -Crosswalk -RuleName DomainPasswordPolicy
Get-TestimoXBaseline -CrosswalkMatches -RuleName DomainPasswordPolicy
Get-TestimoXBaseline -CrosswalkDocs -RuleName DomainPasswordPolicy
        

Common Parameters

This command supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.

For more information, see about_CommonParameters.

Syntax

Get-TestimoXBaseline -Id <string> [-AsVariants] [<CommonParameters>]
#
Parameter set: By Id

Parameters

Id string requiredposition: 0pipeline: false
Baseline identifier in Vendor/Product/Version format, e.g. 'MSB/Windows-Server-2025/1_0'.
AsVariants SwitchParameter optionalposition: namedpipeline: false
Returns simplified variant view (one row per control with vendor desired values) instead of raw controls.

Outputs

ComputerX.Controls.ICxControl, TestimoX.Baselines.BaselineComparisonRow, TestimoX.Baselines.BaselineControlVariants, TestimoX.Baselines.BaselineListEntry, TestimoX.Baselines.Crosswalk.CoverageRow, TestimoX.Baselines.Crosswalk.CrosswalkDocRow, TestimoX.Baselines.Crosswalk.CrosswalkMatchRow, TestimoX.Baselines.Crosswalk.CrosswalkSuggester+LinkSuggestion, TestimoX.Baselines.Crosswalk.DocSuggester+DocSuggestion, TestimoX.Baselines.Crosswalk.GapItem, TestimoX.Baselines.Crosswalk.RuleCrosswalkReport

Get-TestimoXBaseline -ProductId <Unknown> -VendorId <CIS|STIG|MSB|Custom> -Version <string> [-AsVariants] [<CommonParameters>]
#
Parameter set: By Version

Parameters

ProductId CxProduct requiredposition: namedpipeline: falsevalues: 11
Baseline product when using 'ByVendor' or 'Compare' (e.g., WindowsServer2025, Windows10, Windows11). Possible values: Unknown, WindowsServer2016, WindowsServer2019, WindowsServer2022, WindowsServer2025, Windows11_22H2, Windows11_23H2, Windows11_24H2, Windows10_1507, Windows10_1607, Windows10_1809
Possible values: Unknown, WindowsServer2016, WindowsServer2019, WindowsServer2022, WindowsServer2025, Windows11_22H2, Windows11_23H2, Windows11_24H2, Windows10_1507, Windows10_1607, Windows10_1809
VendorId CxVendor[] requiredposition: namedpipeline: falsevalues: 4
Vendor filter or selector. In 'List' it filters results; in 'ByVendor' provide exactly one. Possible values: CIS, STIG, MSB, Custom
Possible values: CIS, STIG, MSB, Custom
Version string requiredposition: namedpipeline: false
Baseline version string for 'ByVendor' (e.g., '1_0', 'V2R10', '22H2').
AsVariants SwitchParameter optionalposition: namedpipeline: false
Returns simplified variant view (one row per control with vendor desired values) instead of raw controls.

Outputs

ComputerX.Controls.ICxControl, TestimoX.Baselines.BaselineComparisonRow, TestimoX.Baselines.BaselineControlVariants, TestimoX.Baselines.BaselineListEntry, TestimoX.Baselines.Crosswalk.CoverageRow, TestimoX.Baselines.Crosswalk.CrosswalkDocRow, TestimoX.Baselines.Crosswalk.CrosswalkMatchRow, TestimoX.Baselines.Crosswalk.CrosswalkSuggester+LinkSuggestion, TestimoX.Baselines.Crosswalk.DocSuggester+DocSuggestion, TestimoX.Baselines.Crosswalk.GapItem, TestimoX.Baselines.Crosswalk.RuleCrosswalkReport

Get-TestimoXBaseline [-AsVariants] -VendorId <CIS|STIG|MSB|Custom> [-VendorIdFilter <CIS|STIG|MSB|Custom>] [<CommonParameters>]
#
Parameter set: By VendorIdFilter

Parameters

AsVariants SwitchParameter optionalposition: namedpipeline: false
Returns simplified variant view (one row per control with vendor desired values) instead of raw controls.
VendorId CxVendor[] requiredposition: namedpipeline: falsevalues: 4
Vendor filter or selector. In 'List' it filters results; in 'ByVendor' provide exactly one. Possible values: CIS, STIG, MSB, Custom
Possible values: CIS, STIG, MSB, Custom
VendorIdFilter CxVendor optionalposition: namedpipeline: falsevalues: 4
Optional vendor filter for the default 'List' view. Possible values: CIS, STIG, MSB, Custom
Possible values: CIS, STIG, MSB, Custom

Outputs

ComputerX.Controls.ICxControl, TestimoX.Baselines.BaselineComparisonRow, TestimoX.Baselines.BaselineControlVariants, TestimoX.Baselines.BaselineListEntry, TestimoX.Baselines.Crosswalk.CoverageRow, TestimoX.Baselines.Crosswalk.CrosswalkDocRow, TestimoX.Baselines.Crosswalk.CrosswalkMatchRow, TestimoX.Baselines.Crosswalk.CrosswalkSuggester+LinkSuggestion, TestimoX.Baselines.Crosswalk.DocSuggester+DocSuggestion, TestimoX.Baselines.Crosswalk.GapItem, TestimoX.Baselines.Crosswalk.RuleCrosswalkReport

Get-TestimoXBaseline -Compare -ProductId <Unknown> [-AsTable] [-AsVariants] [-OnlyDiff] -VendorId <CIS|STIG|MSB|Custom> [-VersionWildcard <string>] [<CommonParameters>]
#
Parameter set: By Compare

Parameters

Compare SwitchParameter requiredposition: namedpipeline: false
Switch to run baseline comparison for a product across vendors.
ProductId CxProduct requiredposition: namedpipeline: falsevalues: 11
Baseline product when using 'ByVendor' or 'Compare' (e.g., WindowsServer2025, Windows10, Windows11). Possible values: Unknown, WindowsServer2016, WindowsServer2019, WindowsServer2022, WindowsServer2025, Windows11_22H2, Windows11_23H2, Windows11_24H2, Windows10_1507, Windows10_1607, Windows10_1809
Possible values: Unknown, WindowsServer2016, WindowsServer2019, WindowsServer2022, WindowsServer2025, Windows11_22H2, Windows11_23H2, Windows11_24H2, Windows10_1507, Windows10_1607, Windows10_1809
AsTable SwitchParameter optionalposition: namedpipeline: false
Output comparison rows as a table (hint for callers/pipelines).
AsVariants SwitchParameter optionalposition: namedpipeline: false
Returns simplified variant view (one row per control with vendor desired values) instead of raw controls.
OnlyDiff SwitchParameter optionalposition: namedpipeline: false
When set, emit only rows where Desired/Comparator/ValueKind differ across vendors.
VendorId CxVendor[] requiredposition: namedpipeline: falsevalues: 4
Vendor filter or selector. In 'List' it filters results; in 'ByVendor' provide exactly one. Possible values: CIS, STIG, MSB, Custom
Possible values: CIS, STIG, MSB, Custom
VersionWildcard string optionalposition: namedpipeline: false
Version wildcard for comparison (default '*'). Example: '1_*' or 'V2R*'.

Outputs

ComputerX.Controls.ICxControl, TestimoX.Baselines.BaselineComparisonRow, TestimoX.Baselines.BaselineControlVariants, TestimoX.Baselines.BaselineListEntry, TestimoX.Baselines.Crosswalk.CoverageRow, TestimoX.Baselines.Crosswalk.CrosswalkDocRow, TestimoX.Baselines.Crosswalk.CrosswalkMatchRow, TestimoX.Baselines.Crosswalk.CrosswalkSuggester+LinkSuggestion, TestimoX.Baselines.Crosswalk.DocSuggester+DocSuggestion, TestimoX.Baselines.Crosswalk.GapItem, TestimoX.Baselines.Crosswalk.RuleCrosswalkReport

Get-TestimoXBaseline -CrosswalkSummary [-AsVariants] [<CommonParameters>]
#
Parameter set: By CrosswalkSummary

Parameters

CrosswalkSummary SwitchParameter requiredposition: namedpipeline: false
When set, outputs a crosswalk coverage summary per TestimoX rule (✔️ complete, ⛓️‍💥 partial, ⛔ none) across vendors and doc sources.
AsVariants SwitchParameter optionalposition: namedpipeline: false
Returns simplified variant view (one row per control with vendor desired values) instead of raw controls.

Outputs

ComputerX.Controls.ICxControl, TestimoX.Baselines.BaselineComparisonRow, TestimoX.Baselines.BaselineControlVariants, TestimoX.Baselines.BaselineListEntry, TestimoX.Baselines.Crosswalk.CoverageRow, TestimoX.Baselines.Crosswalk.CrosswalkDocRow, TestimoX.Baselines.Crosswalk.CrosswalkMatchRow, TestimoX.Baselines.Crosswalk.CrosswalkSuggester+LinkSuggestion, TestimoX.Baselines.Crosswalk.DocSuggester+DocSuggestion, TestimoX.Baselines.Crosswalk.GapItem, TestimoX.Baselines.Crosswalk.RuleCrosswalkReport

Get-TestimoXBaseline -Crosswalk -RuleName <string> [-AsVariants] [<CommonParameters>]
#
Parameter set: By Crosswalk + RuleName

Parameters

Crosswalk SwitchParameter requiredposition: namedpipeline: false
When set with -RuleName, prints vendor guidance for a specific TestimoX rule (resolved mappings and docs).
RuleName string requiredposition: namedpipeline: false
TestimoX rule name for crosswalk details (e.g., 'DomainPasswordPolicy').
AsVariants SwitchParameter optionalposition: namedpipeline: false
Returns simplified variant view (one row per control with vendor desired values) instead of raw controls.

Outputs

ComputerX.Controls.ICxControl, TestimoX.Baselines.BaselineComparisonRow, TestimoX.Baselines.BaselineControlVariants, TestimoX.Baselines.BaselineListEntry, TestimoX.Baselines.Crosswalk.CoverageRow, TestimoX.Baselines.Crosswalk.CrosswalkDocRow, TestimoX.Baselines.Crosswalk.CrosswalkMatchRow, TestimoX.Baselines.Crosswalk.CrosswalkSuggester+LinkSuggestion, TestimoX.Baselines.Crosswalk.DocSuggester+DocSuggestion, TestimoX.Baselines.Crosswalk.GapItem, TestimoX.Baselines.Crosswalk.RuleCrosswalkReport

Get-TestimoXBaseline -CrosswalkMatches [-AsVariants] [<CommonParameters>]
#
Parameter set: By CrosswalkMatches

Parameters

CrosswalkMatches SwitchParameter requiredposition: namedpipeline: false
Emits typed rows of vendor baseline matches for a single TestimoX rule.
AsVariants SwitchParameter optionalposition: namedpipeline: false
Returns simplified variant view (one row per control with vendor desired values) instead of raw controls.

Outputs

ComputerX.Controls.ICxControl, TestimoX.Baselines.BaselineComparisonRow, TestimoX.Baselines.BaselineControlVariants, TestimoX.Baselines.BaselineListEntry, TestimoX.Baselines.Crosswalk.CoverageRow, TestimoX.Baselines.Crosswalk.CrosswalkDocRow, TestimoX.Baselines.Crosswalk.CrosswalkMatchRow, TestimoX.Baselines.Crosswalk.CrosswalkSuggester+LinkSuggestion, TestimoX.Baselines.Crosswalk.DocSuggester+DocSuggestion, TestimoX.Baselines.Crosswalk.GapItem, TestimoX.Baselines.Crosswalk.RuleCrosswalkReport

Get-TestimoXBaseline -CrosswalkDocs [-AsVariants] [<CommonParameters>]
#
Parameter set: By CrosswalkDocs

Parameters

CrosswalkDocs SwitchParameter requiredposition: namedpipeline: false
Emits typed rows of document references (PingCastle/PurpleKnight) for a single TestimoX rule.
AsVariants SwitchParameter optionalposition: namedpipeline: false
Returns simplified variant view (one row per control with vendor desired values) instead of raw controls.

Outputs

ComputerX.Controls.ICxControl, TestimoX.Baselines.BaselineComparisonRow, TestimoX.Baselines.BaselineControlVariants, TestimoX.Baselines.BaselineListEntry, TestimoX.Baselines.Crosswalk.CoverageRow, TestimoX.Baselines.Crosswalk.CrosswalkDocRow, TestimoX.Baselines.Crosswalk.CrosswalkMatchRow, TestimoX.Baselines.Crosswalk.CrosswalkSuggester+LinkSuggestion, TestimoX.Baselines.Crosswalk.DocSuggester+DocSuggestion, TestimoX.Baselines.Crosswalk.GapItem, TestimoX.Baselines.Crosswalk.RuleCrosswalkReport

Get-TestimoXBaseline -CrosswalkGaps [-AsVariants] [<CommonParameters>]
#
Parameter set: By CrosswalkGaps

Parameters

CrosswalkGaps SwitchParameter requiredposition: namedpipeline: false
Emits gaps: items present in vendor baselines/docs (STIG/CIS/MSB, PingCastle, PurpleKnight) that are not referenced by any TestimoX rule crosswalk.
AsVariants SwitchParameter optionalposition: namedpipeline: false
Returns simplified variant view (one row per control with vendor desired values) instead of raw controls.

Outputs

ComputerX.Controls.ICxControl, TestimoX.Baselines.BaselineComparisonRow, TestimoX.Baselines.BaselineControlVariants, TestimoX.Baselines.BaselineListEntry, TestimoX.Baselines.Crosswalk.CoverageRow, TestimoX.Baselines.Crosswalk.CrosswalkDocRow, TestimoX.Baselines.Crosswalk.CrosswalkMatchRow, TestimoX.Baselines.Crosswalk.CrosswalkSuggester+LinkSuggestion, TestimoX.Baselines.Crosswalk.DocSuggester+DocSuggestion, TestimoX.Baselines.Crosswalk.GapItem, TestimoX.Baselines.Crosswalk.RuleCrosswalkReport

Get-TestimoXBaseline -SuggestLinks [-AsVariants] [-MinConfidence <double>] [<CommonParameters>]
#
Parameter set: By SuggestLinks

Parameters

SuggestLinks SwitchParameter requiredposition: namedpipeline: false
Suggests Domain ↔ DC rule links based on overlapping baseline anchors (AccountPolicy/Audit/Registry/SecurityOption/UserRight/Service).
AsVariants SwitchParameter optionalposition: namedpipeline: false
Returns simplified variant view (one row per control with vendor desired values) instead of raw controls.
MinConfidence double optionalposition: namedpipeline: false
Minimum confidence (0..1) for link suggestions; default 0.6.

Outputs

ComputerX.Controls.ICxControl, TestimoX.Baselines.BaselineComparisonRow, TestimoX.Baselines.BaselineControlVariants, TestimoX.Baselines.BaselineListEntry, TestimoX.Baselines.Crosswalk.CoverageRow, TestimoX.Baselines.Crosswalk.CrosswalkDocRow, TestimoX.Baselines.Crosswalk.CrosswalkMatchRow, TestimoX.Baselines.Crosswalk.CrosswalkSuggester+LinkSuggestion, TestimoX.Baselines.Crosswalk.DocSuggester+DocSuggestion, TestimoX.Baselines.Crosswalk.GapItem, TestimoX.Baselines.Crosswalk.RuleCrosswalkReport

Get-TestimoXBaseline -SuggestDocs [-AsVariants] [<CommonParameters>]
#
Parameter set: By SuggestDocs

Parameters

SuggestDocs SwitchParameter requiredposition: namedpipeline: false
Suggests documentation (PingCastle/PurpleKnight) for a rule name based on keyword overlap with unified anchors.
AsVariants SwitchParameter optionalposition: namedpipeline: false
Returns simplified variant view (one row per control with vendor desired values) instead of raw controls.

Outputs

ComputerX.Controls.ICxControl, TestimoX.Baselines.BaselineComparisonRow, TestimoX.Baselines.BaselineControlVariants, TestimoX.Baselines.BaselineListEntry, TestimoX.Baselines.Crosswalk.CoverageRow, TestimoX.Baselines.Crosswalk.CrosswalkDocRow, TestimoX.Baselines.Crosswalk.CrosswalkMatchRow, TestimoX.Baselines.Crosswalk.CrosswalkSuggester+LinkSuggestion, TestimoX.Baselines.Crosswalk.DocSuggester+DocSuggestion, TestimoX.Baselines.Crosswalk.GapItem, TestimoX.Baselines.Crosswalk.RuleCrosswalkReport