API Reference
Get-TestimoXService
Reads live TestimoX service state, inspects the deployed configuration, or scaffolds a new service.json.
Examples
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>]#By ConfigParameters
- Config SwitchParameter
- When used in the default read set, returns the full typed configuration instead of the runtime summary object.
- Name string
- 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>]#By StatusParameters
- Name string
- Windows service name to inspect when reading local service state.
- Status SwitchParameter
- 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>]#By ApiKeysParameters
- ApiKeys SwitchParameter
- Lists configured API key names and their last-set timestamps.
- Name string
- 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>]#By Contains + DateParameters
- Contains string
- Optional substring filter that keeps only log lines containing the specified text.
- Date string
- Optional log date in yyyyMMdd format. When omitted, the cmdlet reads the current day.
- Level string
- Optional log level filter such as Info, Warn, or Error.
- Lines int
- Number of lines to read for -Logs or -History. The cmdlet caps this value at 5000.
- Logs SwitchParameter
- Tails service log lines from the Management API or from the local service log files.
- Name string
- 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>]#By HistoryParameters
- History SwitchParameter
- Shows recent run history entries, including timestamps and outcomes.
- Lines int
- Number of lines to read for -Logs or -History. The cmdlet caps this value at 5000.
- Name string
- 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>]#By BaselinesParameters
- Baselines SwitchParameter
- Lists baseline files produced by earlier service runs.
- Name string
- 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>]#By HealthParameters
- Health SwitchParameter
- Returns a health snapshot from the Management API when connected, or a local fallback object when not.
- Name string
- 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>]#By WhatIfNextParameters
- WhatIfNext int
- 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>]#By MetricsParameters
- Metrics SwitchParameter
- 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>]#By DailyTimes + EnableAdSnapshotParameters
- DailyTimes string[]
- Daily trigger times in HH:mm format when -Mode Daily is used.
- EnableAdSnapshot SwitchParameter
- Enables the Active Directory snapshot stage in the generated configuration.
- IntervalSeconds int
- Interval length in seconds when -Mode Interval is used.
- JitterSeconds int
- Randomizes scheduled run times by up to the specified number of seconds.
- Mode ScheduleMode
- 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
- Output directory used by the generated configuration for reports and baselines.
- Path string
- Optional file path for a generated service.json. When omitted, the typed ServiceConfig object is written to the pipeline.
- Profile RuleSelectionProfile
- 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
- Adds an immediate run at service startup in addition to the configured schedule.
- Shape ExportSelectionMode
- Selects the report/export shape placed into the generated configuration. Possible values: All, SummaryOnly, PassFailOnly, ResultsOnly
- Possible values:
All,SummaryOnly,PassFailOnly,ResultsOnly - WeeklyDays string[]
- Days of the week to use when -Mode Weekly is selected.
- WeeklyTime string
- 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