TestimoX

API Reference

Command

Get-TestimoXService

Namespace TestimoX.PowerShell
Outputs
System.Collections.Generic.List`1[[System.DateTimeOffset, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]] System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]] System.Collections.Generic.List`1[[TestimoX.Services.ServiceApiKeyInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]] System.Collections.Generic.List`1[[TestimoX.Services.ServiceBaselineInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]] TestimoX.Configuration.GeneratedFileResult TestimoX.Configuration.Service.ServiceConfig TestimoX.Services.ServiceHealthStatus TestimoX.Services.ServiceMetricsSnapshot TestimoX.Services.ServiceRuntimeStatus TestimoX.Services.ServiceStatusInfo

Reads live TestimoX service state, inspects the deployed configuration, or scaffolds a new service.json.

Examples

Authored help example

Example 1: Return the current Windows service status for the default deployment

PS>


Get-TestimoXService -Name 'TestimoX' -Status
        

The result includes service state and the resolved runtime paths that TestimoX is using.

Example 2: Read the deployed configuration object from the service installation

PS>


Get-TestimoXService -Name 'TestimoX' -Config
        

Use this before editing a config so you know exactly what is deployed on the target node.

Example 3: Generate a weekly service.json scaffold for an AD security assessment

PS>


Get-TestimoXService -Path 'C:\Ops\TestimoX\Configs\service.json' -Mode Weekly -WeeklyDays Monday,Thursday -WeeklyTime '01:30' -EnableAdSnapshot -Profile AdSecurityAssessment -Shape IncludeDetails -OutputDirectory 'C:\Ops\TestimoX\Reports'
        

The generated file can be reviewed, source-controlled, and then applied with Set-TestimoXService.

Example 4: Inspect remote management API keys, health, and metrics after connecting

PS>


Connect-TestimoXService -UseSaved; Get-TestimoXService -ApiKeys; Get-TestimoXService -Health; Get-TestimoXService -Metrics
        

This is a common operator workflow when validating that a service remains healthy after a configuration change.

Example 5: Tail recent error lines from a specific service log file day

PS>


Get-TestimoXService -Logs -Lines 500 -Level Error -Date 20260404
        

The same syntax works both locally and through the Management API, which keeps runbook steps consistent.

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-TestimoXService [-Config] [-Name <string>] [<CommonParameters>]
#
Parameter set: By Config

Parameters

Config SwitchParameter optionalposition: namedpipeline: false
When used in the default read set, returns the full typed configuration instead of the runtime summary object.
Name string optionalposition: namedpipeline: false
Windows service name to inspect when reading local service state.

Outputs

System.Collections.Generic.List`1[[System.DateTimeOffset, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceApiKeyInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceBaselineInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], TestimoX.Configuration.GeneratedFileResult, TestimoX.Configuration.Service.ServiceConfig, TestimoX.Services.ServiceHealthStatus, TestimoX.Services.ServiceMetricsSnapshot, TestimoX.Services.ServiceRuntimeStatus, TestimoX.Services.ServiceStatusInfo

Get-TestimoXService [-Name <string>] [-Status] [<CommonParameters>]
#
Parameter set: By Status

Parameters

Name string optionalposition: namedpipeline: false
Windows service name to inspect when reading local service state.
Status SwitchParameter optionalposition: namedpipeline: false
Returns service status information only, rather than configuration or runtime summary data.

Outputs

System.Collections.Generic.List`1[[System.DateTimeOffset, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceApiKeyInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceBaselineInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], TestimoX.Configuration.GeneratedFileResult, TestimoX.Configuration.Service.ServiceConfig, TestimoX.Services.ServiceHealthStatus, TestimoX.Services.ServiceMetricsSnapshot, TestimoX.Services.ServiceRuntimeStatus, TestimoX.Services.ServiceStatusInfo

Get-TestimoXService [-ApiKeys] [-Name <string>] [<CommonParameters>]
#
Parameter set: By ApiKeys

Parameters

ApiKeys SwitchParameter optionalposition: namedpipeline: false
Lists configured API key names and their last-set timestamps.
Name string optionalposition: namedpipeline: false
Windows service name to inspect when reading local service state.

Outputs

System.Collections.Generic.List`1[[System.DateTimeOffset, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceApiKeyInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceBaselineInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], TestimoX.Configuration.GeneratedFileResult, TestimoX.Configuration.Service.ServiceConfig, TestimoX.Services.ServiceHealthStatus, TestimoX.Services.ServiceMetricsSnapshot, TestimoX.Services.ServiceRuntimeStatus, TestimoX.Services.ServiceStatusInfo

Get-TestimoXService [-Contains <string>] [-Date <string>] [-Level <string>] [-Lines <int>] [-Logs] [-Name <string>] [<CommonParameters>]
#
Parameter set: By Contains + Date

Parameters

Contains string optionalposition: namedpipeline: false
Optional substring filter that keeps only log lines containing the specified text.
Date string optionalposition: namedpipeline: false
Optional log date in yyyyMMdd format. When omitted, the cmdlet reads the current day.
Level string optionalposition: namedpipeline: false
Optional log level filter such as Info, Warn, or Error.
Lines int optionalposition: namedpipeline: false
Number of lines to read for -Logs or -History. The cmdlet caps this value at 5000.
Logs SwitchParameter optionalposition: namedpipeline: false
Tails service log lines from the Management API or from the local service log files.
Name string optionalposition: namedpipeline: false
Windows service name to inspect when reading local service state.

Outputs

System.Collections.Generic.List`1[[System.DateTimeOffset, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceApiKeyInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceBaselineInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], TestimoX.Configuration.GeneratedFileResult, TestimoX.Configuration.Service.ServiceConfig, TestimoX.Services.ServiceHealthStatus, TestimoX.Services.ServiceMetricsSnapshot, TestimoX.Services.ServiceRuntimeStatus, TestimoX.Services.ServiceStatusInfo

Get-TestimoXService [-History] [-Lines <int>] [-Name <string>] [<CommonParameters>]
#
Parameter set: By History

Parameters

History SwitchParameter optionalposition: namedpipeline: false
Shows recent run history entries, including timestamps and outcomes.
Lines int optionalposition: namedpipeline: false
Number of lines to read for -Logs or -History. The cmdlet caps this value at 5000.
Name string optionalposition: namedpipeline: false
Windows service name to inspect when reading local service state.

Outputs

System.Collections.Generic.List`1[[System.DateTimeOffset, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceApiKeyInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceBaselineInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], TestimoX.Configuration.GeneratedFileResult, TestimoX.Configuration.Service.ServiceConfig, TestimoX.Services.ServiceHealthStatus, TestimoX.Services.ServiceMetricsSnapshot, TestimoX.Services.ServiceRuntimeStatus, TestimoX.Services.ServiceStatusInfo

Get-TestimoXService [-Baselines] [-Name <string>] [<CommonParameters>]
#
Parameter set: By Baselines

Parameters

Baselines SwitchParameter optionalposition: namedpipeline: false
Lists baseline files produced by earlier service runs.
Name string optionalposition: namedpipeline: false
Windows service name to inspect when reading local service state.

Outputs

System.Collections.Generic.List`1[[System.DateTimeOffset, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceApiKeyInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceBaselineInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], TestimoX.Configuration.GeneratedFileResult, TestimoX.Configuration.Service.ServiceConfig, TestimoX.Services.ServiceHealthStatus, TestimoX.Services.ServiceMetricsSnapshot, TestimoX.Services.ServiceRuntimeStatus, TestimoX.Services.ServiceStatusInfo

Get-TestimoXService [-Health] [-Name <string>] [<CommonParameters>]
#
Parameter set: By Health

Parameters

Health SwitchParameter optionalposition: namedpipeline: false
Returns a health snapshot from the Management API when connected, or a local fallback object when not.
Name string optionalposition: namedpipeline: false
Windows service name to inspect when reading local service state.

Outputs

System.Collections.Generic.List`1[[System.DateTimeOffset, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceApiKeyInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceBaselineInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], TestimoX.Configuration.GeneratedFileResult, TestimoX.Configuration.Service.ServiceConfig, TestimoX.Services.ServiceHealthStatus, TestimoX.Services.ServiceMetricsSnapshot, TestimoX.Services.ServiceRuntimeStatus, TestimoX.Services.ServiceStatusInfo

Get-TestimoXService [-WhatIfNext <int>] [<CommonParameters>]
#
Parameter set: By WhatIfNext

Parameters

WhatIfNext int optionalposition: namedpipeline: false
Previews the next N scheduled run times from the deployed configuration.

Outputs

System.Collections.Generic.List`1[[System.DateTimeOffset, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceApiKeyInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceBaselineInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], TestimoX.Configuration.GeneratedFileResult, TestimoX.Configuration.Service.ServiceConfig, TestimoX.Services.ServiceHealthStatus, TestimoX.Services.ServiceMetricsSnapshot, TestimoX.Services.ServiceRuntimeStatus, TestimoX.Services.ServiceStatusInfo

Get-TestimoXService [-Metrics] [<CommonParameters>]
#
Parameter set: By Metrics

Parameters

Metrics SwitchParameter optionalposition: namedpipeline: false
Returns a metrics snapshot containing counters and timings from the Management API.

Outputs

System.Collections.Generic.List`1[[System.DateTimeOffset, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceApiKeyInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceBaselineInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], TestimoX.Configuration.GeneratedFileResult, TestimoX.Configuration.Service.ServiceConfig, TestimoX.Services.ServiceHealthStatus, TestimoX.Services.ServiceMetricsSnapshot, TestimoX.Services.ServiceRuntimeStatus, TestimoX.Services.ServiceStatusInfo

Get-TestimoXService [-DailyTimes <string[]>] [-EnableAdSnapshot] [-IntervalSeconds <int>] [-JitterSeconds <int>] [-Mode <Disabled|Interval|Daily|Weekly>] [-OutputDirectory <string>] [-Path <string>] [-Profile <AdSecurityAssessment>] [-RunAtStartup] [-Shape <All|SummaryOnly|PassFailOnly|ResultsOnly>] [-WeeklyDays <string[]>] [-WeeklyTime <string>] [<CommonParameters>]
#
Parameter set: By DailyTimes + EnableAdSnapshot

Parameters

DailyTimes string[] optionalposition: namedpipeline: false
Daily trigger times in HH:mm format when -Mode Daily is used.
EnableAdSnapshot SwitchParameter optionalposition: namedpipeline: false
Enables the Active Directory snapshot stage in the generated configuration.
IntervalSeconds int optionalposition: namedpipeline: false
Interval length in seconds when -Mode Interval is used.
JitterSeconds int optionalposition: namedpipeline: false
Randomizes scheduled run times by up to the specified number of seconds.
Mode ScheduleMode optionalposition: namedpipeline: falsevalues: 4
Schedule mode to place into a newly generated service.json: Disabled, Interval, Daily, or Weekly. Possible values: Disabled, Interval, Daily, Weekly
Possible values: Disabled, Interval, Daily, Weekly
OutputDirectory string optionalposition: namedpipeline: false
Output directory used by the generated configuration for reports and baselines.
Path string optionalposition: namedpipeline: false
Optional file path for a generated service.json. When omitted, the typed ServiceConfig object is written to the pipeline.
Profile RuleSelectionProfile optionalposition: namedpipeline: falsevalues: 5
Optional curated rule-selection profile to place into the generated TestRun section. Possible values: None, AdSecurityAssessment, DnsSecurityAudit, NistDnsAudit, GeneralDnsConfigurationAudit, AdDnsCleanupAudit
Possible values: AdSecurityAssessment, DnsSecurityAudit, NistDnsAudit, GeneralDnsConfigurationAudit, AdDnsCleanupAudit
RunAtStartup SwitchParameter optionalposition: namedpipeline: false
Adds an immediate run at service startup in addition to the configured schedule.
Shape ExportSelectionMode optionalposition: namedpipeline: falsevalues: 4
Selects the report/export shape placed into the generated configuration. Possible values: All, SummaryOnly, PassFailOnly, ResultsOnly
Possible values: All, SummaryOnly, PassFailOnly, ResultsOnly
WeeklyDays string[] optionalposition: namedpipeline: false
Days of the week to use when -Mode Weekly is selected.
WeeklyTime string optionalposition: namedpipeline: false
Weekly trigger time in HH:mm format.

Outputs

System.Collections.Generic.List`1[[System.DateTimeOffset, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceApiKeyInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Collections.Generic.List`1[[TestimoX.Services.ServiceBaselineInfo, TestimoX, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]], TestimoX.Configuration.GeneratedFileResult, TestimoX.Configuration.Service.ServiceConfig, TestimoX.Services.ServiceHealthStatus, TestimoX.Services.ServiceMetricsSnapshot, TestimoX.Services.ServiceRuntimeStatus, TestimoX.Services.ServiceStatusInfo