Skip to content

v2.0.0-beta1#137

Merged
tpcarman merged 24 commits intodevfrom
feature/v2-refactor
Mar 14, 2026
Merged

v2.0.0-beta1#137
tpcarman merged 24 commits intodevfrom
feature/v2-refactor

Conversation

@tpcarman
Copy link
Copy Markdown
Contributor

Description

This PR introduces v2.0.0 — a complete rewrite of the module for improved maintainability, extensibility, and correctness.

Architecture

  • Each report section is now a dedicated private function (Get-AbrVSphere*)
    following a consistent begin/process/end pattern, replacing the single monolithic
    Invoke-AsBuiltReport.VMware.vSphere.ps1 script
  • Module source moved to a nested folder structure
    (AsBuiltReport.VMware.vSphere/) consistent with other AsBuiltReport modules

Internationalisation

  • Full i18n support via Language/ .psd1 data files (en-US, en-GB, es-ES, fr-FR,
    de-DE)
  • All user-visible strings, section headings, table names, and column headers are
    localised

New sections and features

  • vCenter Server: resource/inventory summary tables at InfoLevel 1+ (CPU, Memory,
    Storage free/used/total; VM and Host state counts)
    (Include Summary InfoLevel 1 information #30)
  • vCenter Server: Backup Settings section (schedule, job history) and Backup
    healthcheck via REST API (vSphere 7.0+)
  • vCenter Server: Certificate healthcheck (expired/expiring)
  • vCenter Server: Content Libraries section (InfoLevel 3+) with per-library
    detail and items table at InfoLevel 4+
  • vCenter Server: ShowRoles, ShowAlarms
    (option to remove "roles" from report #122), and
    ShowTags options to gate optional sections
  • VMHost Hardware: I/O Device Identifiers subsection (VID/DID/SVID/SSID)
    (Adding hardware identifier  #126)
  • VMHost Security: TPM attestation state and host encryption settings with
    TpmAttestation healthcheck
    (Record the TPM State of each node and if encryption enabled, backup the keys of each node into the report #101)
  • VMHost System: ESXi host certificate reporting; syslog log directory, rotation
    count, and log size
  • Cluster: vSphere Lifecycle Manager (vLCM) image composition, components,
    hardware support manager, and per-host compliance
  • Cluster: LCMCompliance healthcheck
  • Network: VDS LACP, NetFlow, and Network I/O Control resource pool reporting
  • Datastore Cluster: SDRS rules, Space Load Balance, and I/O Load Balance
    configuration subsections
  • vSAN: Services section (Performance, File Service, iSCSI, Deduplication,
    Encryption, Historical Health, Health Check)
  • VUM: Software Depots section (online and offline)
  • Tags reported in Datastore, Datastore Cluster, Distributed Switch, Resource
    Pool, VM, and VMHost sections

Bug fixes

Testing

  • Pester test suite added: AsBuiltReport.VMware.vSphere.Tests.ps1 (module
    structure, PSScriptAnalyzer), LocalizationData.Tests.ps1 (locale key consistency
    across all 5 languages), Invoke-Tests.ps1
  • GitHub Actions Pester workflow added

Related Issue

Closes #30,
#88,
#101,
#111,
#113,
#122,
#123,
#126,
#127

Motivation and Context

The original module was a single ~5,000-line script that had become difficult to
maintain, extend, and test. The v2.0.0 rewrite splits the report into discrete,
independently testable functions, adds multilingual output, and targets vSphere
8.0 exclusively — allowing several workarounds for older API behaviours to be
removed.

How Has This Been Tested?

  • Pester tests pass (Invoke-Tests.ps1) — module structure and locale key
    consistency validated across all 5 language files
  • PSScriptAnalyzer clean at Warning/Error severity across all source files
  • Report generated against a vSphere 8.0 environment at InfoLevel 1 through 5 for
    all sections
  • HTML, Word, and Text output formats verified
  • Pre-release builds published to PowerShell Gallery and installed via
    Install-Module AsBuiltReport.VMware.vSphere -AllowPrerelease

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.

tpcarman and others added 21 commits March 5, 2026 14:21
## [2.0.0] - Unreleased

### Added

- Modular architecture: each report section is now a dedicated private function (`Get-AbrVSphere*`)
- Internationalization (i18n) support via `Language/` `.psd1` files (`en-US`, `en-GB`, `es-ES`, `fr-FR`, `de-DE`)
- Pester test suite (`AsBuiltReport.VMware.vSphere.Tests.ps1`, `LocalizationData.Tests.ps1`, `Invoke-Tests.ps1`)
- GitHub Actions Pester workflow (`.github/workflows/Pester.yml`)

### Changed

- Complete module rewrite for improved maintainability and extensibility
- Module source now uses nested folder structure (`AsBuiltReport.VMware.vSphere/`)
- Requires `AsBuiltReport.Core` >= 1.6.2
- `CompatiblePSEditions` now explicitly declares `Desktop` and `Core` support
Convert VMware managed objects stored as PSCustomObject property values
to plain strings (.Name or [string] cast) before passing to PScribo's
Table cmdlet, preventing .NET's Dictionary<K,V>.Add() from throwing a
duplicate-key exception when formatting TEXT output.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…123)

- Guard against null LicenseAssignmentManager MoRef (Bug B) to prevent
  'Index operation failed; the array index evaluated to null' crash
- Replace broken reflection-based QueryAssignedLicenses call with direct
  method call and fix $_ out-of-scope bug in vCenter license path (Bug A)
- Guard null/empty LicenseKey before masking in both VMHost and vCenter
  paths to avoid errors when no license is assigned (Bug C)
- Wrap Get-License calls in try/catch in Get-AbrVSphereVMHostHardware
  and Get-AbrVSpherevCenter to prevent fatal propagation (Bug D)
- Add LicenseError locale key to all five language files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a new NOTOCHeading5 subsection under each host's Hardware section
displaying VID, DID, SVID, and SSID in lowercase hex for HCL validation.

Uses PCI address mapping via Get-VMHostNetworkAdapter/Get-VMHostHba instead
of VMkernelName (unpopulated on ESXi 8). Guards null PCI keys to handle
software HBAs (iSCSI, software NVMe) without physical PCI addresses.

Adds 7 new localisation keys to all 5 locale files (en-US, en-GB, es-ES,
fr-FR, de-DE).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Guard Get-VsanDisk against a null VsanDiskGroup parameter, which occurs
when an OSA cluster has no claimed disks. The cluster detail table now
renders correctly; Disk Groups and Disks subsections are skipped when
no disk groups exist.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace vpxd.certmgmt.certs.cn.* advanced settings reads with a direct
TLS connection to port 443, returning the actual deployed certificate.

Use SslStream with an explicit-parameter RemoteCertificateValidationCallback
for reliable PS 5.1 and 7.x compatibility. Certificate status (VALID /
EXPIRING_SOON / EXPIRING / EXPIRED) is computed from NotAfter vs the
existing soft/hard threshold advanced settings.

Fields removed: Country, Email, Locality, State, Organization,
OrganizationUnit, Validity (VMCA template settings — not the live cert).
Fields added: Subject, Issuer, ValidFrom, ValidTo, Thumbprint, CertStatus.

All five locale files (en-US, en-GB, es-ES, fr-FR, de-DE) updated.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- CompatiblePSEditions: Core only (Desktop removed)
- PowerShellVersion minimum set to 7.4 per VMware PowerCLI requirement
- PSEdition_Desktop tag removed from manifest
- Pester: replace separate Desktop/Core assertions with a single
  'Core only' check that also asserts Desktop is absent
- README: add Broadcom PowerCLI Installation Guide link and PS 7.4
  minimum requirement note
- CHANGELOG: document as Changed (min version) and Removed (PS 5.1)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Move from .github/workflows/Dependabot.yml to .github/dependabot.yml.
GitHub was parsing it as an Actions workflow (requiring on:/jobs:)
instead of a Dependabot configuration file.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add ESXi Host TPM & Encryption section to Get-AbrVSphereVMHostSecurity
  - Reports TPM attestation status via ExtensionData.Config.TpmAttestation
  - Reports encryption mode, RequireSecureBoot, and RequireSignedVIBs via esxcli
  - Recovery keys sub-table gated behind ShowEncryptionKeys option (InfoLevel >= 3)
  - TpmAttestation healthcheck warns when TPM present but not attested
- Add ShowEncryptionKeys option (default: false) to report JSON config
- Add TpmAttestation healthcheck (default: true) to report JSON config
- Add i18n keys to all 5 locale files (en-US, en-GB, es-ES, fr-FR, de-DE)
- Update README.md options and healthcheck tables

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sub-functions (ClusterHA, ClusterProactiveHA, ClusterDRS, VMHostHardware,
VMHostSystem, VMHostStorage, VMHostNetwork, VMHostSecurity) all share their
parent's InfoLevel setting (Cluster or VMHost) rather than having their own
dedicated JSON config key. Emitting "VMHost Network InfoLevel set to 3"
implied a separate configurable setting that doesn't exist.

InfoLevel messages are retained only in the 10 top-level functions that
correspond directly to InfoLevel keys in the report JSON config.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
On ESXi 8.x, VMkernelName is no longer populated in the output of
esxcli hardware.pci.list, causing the Where-Object filter in
Get-PciDeviceDetail to return no devices and the section to be silently
suppressed.

Fix by adding an optional -VMHost parameter and building a PCI address to
VMkernel name lookup map via the PowerCLI API (same pattern already used
by the PCI Devices and I/O Device Identifiers sections). The VMkernelName
field is used directly when present (ESXi < 8), with the address map as
fallback (ESXi 8+).

Also fix a secondary bug where $firmwareVersion and $driverVib were not
reset between loop iterations, causing values from a previous device to
bleed into the next device's output.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…IOC, VM Swap Location, and DSCluster SDRS improvements

- Add Tags reporting to VMHost, Datastore, DSCluster, ResourcePool, Network (VDS), and VM sections
- Add ESXi Host Certificate section (subject, issuer, validity dates, SHA-256 thumbprint)
- Add VM Swap File Location section using Get-View with camelCase property paths
- Expand Syslog section to include log directory, rotation count, and log size via esxcli
- Add vSAN Services section (Performance, File, iSCSI, Deduplication, Encryption, Health) for both OSA and ESA code paths
- Add VDS LACP section using ExtensionData instead of unavailable Get-VDLacpPolicy cmdlet
- Add VDS NetFlow section and NIOC Resource Pools section
- Fix NIOC pool limit integer comparison (was string '-1', now integer -1)
- Add Cluster LCM and Cluster VUM as separate sub-section functions
- Fix DSCluster SDRS rules, space/IO load balance config reporting
- Update all 5 locale files (en-US, en-GB, es-ES, fr-FR, de-DE) with new keys

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Backup Schedule table shows status (Activated/Deactivated), recurrence
  with appliance timezone, backup location, data components (mapped from
  API part names to human-readable labels), and retention count
- Backup Job History table shows 10 most recent jobs via
  GET /api/appliance/recovery/backup/job/details; columns: location,
  type, status, data transferred, duration (HH:MM:SS), end time
- Healthcheck: Warning if schedule deactivated, Critical if job failed
- Requires vSphere 7.0+ REST API; renders informational paragraph on
  older versions
- Add Backup healthcheck key to AsBuiltReport.VMware.vSphere.json
- Update all 5 locale files with new backup keys

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…to vCenter report

- Add vCenter Server Backup Settings section (InfoLevel 3+) with Backup Schedule and Backup Job History subsections via REST API
- Add Certificate healthcheck (Critical: EXPIRED/EXPIRING, Warning: EXPIRING_SOON)
- Add Backup healthcheck (Warning: schedule deactivated, Critical: job failed)
- Update report JSON with Certificate and Backup healthcheck defaults
- Update README vCenter healthcheck table with Certificate and Backup rows
- Update CHANGELOG with Certificate healthcheck entry
- Add pre-release support to Release.yml (manifest Prerelease string, conditional tweet/bsky jobs)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…howTags options

- Add vCenter resource/inventory summary tables at InfoLevel 1+ (#30)
- Add Content Libraries section to vCenter report (InfoLevel 3+)
- Add ShowRoles, ShowAlarms (#122), and ShowTags options
- Gate tag reporting across all sections with ShowTags option
- Use Convert-DataSize for memory/storage and library item sizes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

PSScriptAnalyzer results:

Errors: [0], Warnings: [55], Information: [1]


RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 44
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 45
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 46
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 50
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 57
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 72
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 75
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 108
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 113
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 129
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 130
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 132
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 137
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 138
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 143
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 144
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 145
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 146
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 147
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 148
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 149
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 150
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 154
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 156
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 157
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 163
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 164
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 165
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 173
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 176
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 177
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 178
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 179
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 184
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 185
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 190
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 194
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 198
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 201
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSUseSingularNouns
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 6
Message    : The cmdlet 'Get-NestedLocalizationKeys' uses a plural noun. A 
             singular noun should be used instead.

RuleName   : PSAvoidUsingEmptyCatchBlock
Severity   : Warning
ScriptName : Get-AbrVSphereClusterProactiveHA.ps1
Line       : 92
Message    : Empty catch block is used. Please use Write-Error or throw 
             statements in catch blocks.

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Get-AbrVSphereVMHostSecurity.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Get-AbrVSphereVMHostSecurity.ps1'

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Get-AbrVSphereVMHostHardware.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Get-AbrVSphereVMHostHardware.ps1'

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Get-AbrVSphereClusterLCM.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Get-AbrVSphereClusterLCM.ps1'

RuleName   : PSUseSingularNouns
Severity   : Warning
ScriptName : Get-vCenterStats.ps1
Line       : 1
Message    : The cmdlet 'Get-vCenterStats' uses a plural noun. A singular noun 
             should be used instead.

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Get-AbrVSpherevSAN.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Get-AbrVSpherevSAN.ps1'

RuleName   : PSAvoidUsingEmptyCatchBlock
Severity   : Warning
ScriptName : Get-AbrVSpherevCenter.ps1
Line       : 266
Message    : Empty catch block is used. Please use Write-Error or throw 
             statements in catch blocks.

RuleName   : PSAvoidUsingEmptyCatchBlock
Severity   : Warning
ScriptName : Get-AbrVSpherevCenter.ps1
Line       : 629
Message    : Empty catch block is used. Please use Write-Error or throw 
             statements in catch blocks.

RuleName   : PSAvoidAssignmentToAutomaticVariable
Severity   : Warning
ScriptName : Get-AbrVSpherevCenter.ps1
Line       : 430
Message    : The Variable 'sender' is an automatic variable that is built into 
             PowerShell, assigning to it might have undesired side effects. If 
             assignment is not by design, please use a different name.

RuleName   : PSUseProcessBlockForPipelineCommand
Severity   : Warning
ScriptName : Get-License.ps1
Line       : 35
Message    : Command accepts pipeline input but has not defined a process block.

RuleName   : PSUseProcessBlockForPipelineCommand
Severity   : Warning
ScriptName : Get-License.ps1
Line       : 38
Message    : Command accepts pipeline input but has not defined a process block.

RuleName   : PSPossibleIncorrectComparisonWithNull
Severity   : Warning
ScriptName : Get-License.ps1
Line       : 92
Message    : $null should be on the left side of equality comparisons.

RuleName   : PSPossibleIncorrectComparisonWithNull
Severity   : Warning
ScriptName : Get-License.ps1
Line       : 123
Message    : $null should be on the left side of equality comparisons.

RuleName   : PSUseProcessBlockForPipelineCommand
Severity   : Warning
ScriptName : Get-Uptime.ps1
Line       : 6
Message    : Command accepts pipeline input but has not defined a process block.

RuleName   : PSAvoidOverwritingBuiltInCmdlets
Severity   : Warning
ScriptName : Get-Uptime.ps1
Line       : 1
Message    : 'Get-Uptime' is a cmdlet that is included with PowerShell (version 
             core-6.1.0-windows) whose definition should not be overridden

RuleName   : PSAvoidTrailingWhitespace
Severity   : Information
ScriptName : Get-Uptime.ps1
Line       : 9
Message    : Line has trailing whitespace

Change dorny/test-reporter from java-junit to dotnet-nunit to match
the NUnitXml format generated by Invoke-Tests.ps1

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

PSScriptAnalyzer results:

Errors: [0], Warnings: [55], Information: [1]


RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 44
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 45
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 46
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 50
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 57
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 72
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 75
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 108
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 113
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 129
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 130
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 132
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 137
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 138
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 143
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 144
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 145
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 146
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 147
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 148
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 149
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 150
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 154
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 156
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 157
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 163
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 164
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 165
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 173
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 176
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 177
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 178
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 179
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 184
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 185
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 190
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 194
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 198
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 201
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSUseSingularNouns
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 6
Message    : The cmdlet 'Get-NestedLocalizationKeys' uses a plural noun. A 
             singular noun should be used instead.

RuleName   : PSAvoidUsingEmptyCatchBlock
Severity   : Warning
ScriptName : Get-AbrVSphereClusterProactiveHA.ps1
Line       : 92
Message    : Empty catch block is used. Please use Write-Error or throw 
             statements in catch blocks.

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Get-AbrVSphereVMHostSecurity.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Get-AbrVSphereVMHostSecurity.ps1'

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Get-AbrVSphereVMHostHardware.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Get-AbrVSphereVMHostHardware.ps1'

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Get-AbrVSphereClusterLCM.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Get-AbrVSphereClusterLCM.ps1'

RuleName   : PSUseSingularNouns
Severity   : Warning
ScriptName : Get-vCenterStats.ps1
Line       : 1
Message    : The cmdlet 'Get-vCenterStats' uses a plural noun. A singular noun 
             should be used instead.

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Get-AbrVSpherevSAN.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Get-AbrVSpherevSAN.ps1'

RuleName   : PSAvoidUsingEmptyCatchBlock
Severity   : Warning
ScriptName : Get-AbrVSpherevCenter.ps1
Line       : 266
Message    : Empty catch block is used. Please use Write-Error or throw 
             statements in catch blocks.

RuleName   : PSAvoidUsingEmptyCatchBlock
Severity   : Warning
ScriptName : Get-AbrVSpherevCenter.ps1
Line       : 629
Message    : Empty catch block is used. Please use Write-Error or throw 
             statements in catch blocks.

RuleName   : PSAvoidAssignmentToAutomaticVariable
Severity   : Warning
ScriptName : Get-AbrVSpherevCenter.ps1
Line       : 430
Message    : The Variable 'sender' is an automatic variable that is built into 
             PowerShell, assigning to it might have undesired side effects. If 
             assignment is not by design, please use a different name.

RuleName   : PSUseProcessBlockForPipelineCommand
Severity   : Warning
ScriptName : Get-License.ps1
Line       : 35
Message    : Command accepts pipeline input but has not defined a process block.

RuleName   : PSUseProcessBlockForPipelineCommand
Severity   : Warning
ScriptName : Get-License.ps1
Line       : 38
Message    : Command accepts pipeline input but has not defined a process block.

RuleName   : PSPossibleIncorrectComparisonWithNull
Severity   : Warning
ScriptName : Get-License.ps1
Line       : 92
Message    : $null should be on the left side of equality comparisons.

RuleName   : PSPossibleIncorrectComparisonWithNull
Severity   : Warning
ScriptName : Get-License.ps1
Line       : 123
Message    : $null should be on the left side of equality comparisons.

RuleName   : PSAvoidOverwritingBuiltInCmdlets
Severity   : Warning
ScriptName : Get-Uptime.ps1
Line       : 1
Message    : 'Get-Uptime' is a cmdlet that is included with PowerShell (version 
             core-6.1.0-windows) whose definition should not be overridden

RuleName   : PSUseProcessBlockForPipelineCommand
Severity   : Warning
ScriptName : Get-Uptime.ps1
Line       : 6
Message    : Command accepts pipeline input but has not defined a process block.

RuleName   : PSAvoidTrailingWhitespace
Severity   : Information
ScriptName : Get-Uptime.ps1
Line       : 9
Message    : Line has trailing whitespace

dorny/test-reporter@v1 only supports java-junit (JUnit XML) format;
switch Invoke-Tests.ps1 output from NUnitXml to JUnitXml to match

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

PSScriptAnalyzer results:

Errors: [0], Warnings: [55], Information: [1]


RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 44
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 45
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 46
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 50
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 57
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 72
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 75
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 108
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 113
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 129
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 130
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 132
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 137
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 138
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 143
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 144
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 145
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 146
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 147
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 148
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 149
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 150
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 154
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 156
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 157
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 163
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 164
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 165
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 173
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 176
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 177
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 178
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 179
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 184
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 185
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 190
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 194
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 198
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 201
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSUseSingularNouns
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 6
Message    : The cmdlet 'Get-NestedLocalizationKeys' uses a plural noun. A 
             singular noun should be used instead.

RuleName   : PSAvoidUsingEmptyCatchBlock
Severity   : Warning
ScriptName : Get-AbrVSphereClusterProactiveHA.ps1
Line       : 92
Message    : Empty catch block is used. Please use Write-Error or throw 
             statements in catch blocks.

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Get-AbrVSphereVMHostSecurity.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Get-AbrVSphereVMHostSecurity.ps1'

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Get-AbrVSphereVMHostHardware.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Get-AbrVSphereVMHostHardware.ps1'

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Get-AbrVSphereClusterLCM.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Get-AbrVSphereClusterLCM.ps1'

RuleName   : PSUseSingularNouns
Severity   : Warning
ScriptName : Get-vCenterStats.ps1
Line       : 1
Message    : The cmdlet 'Get-vCenterStats' uses a plural noun. A singular noun 
             should be used instead.

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Get-AbrVSpherevSAN.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Get-AbrVSpherevSAN.ps1'

RuleName   : PSAvoidUsingEmptyCatchBlock
Severity   : Warning
ScriptName : Get-AbrVSpherevCenter.ps1
Line       : 266
Message    : Empty catch block is used. Please use Write-Error or throw 
             statements in catch blocks.

RuleName   : PSAvoidUsingEmptyCatchBlock
Severity   : Warning
ScriptName : Get-AbrVSpherevCenter.ps1
Line       : 629
Message    : Empty catch block is used. Please use Write-Error or throw 
             statements in catch blocks.

RuleName   : PSAvoidAssignmentToAutomaticVariable
Severity   : Warning
ScriptName : Get-AbrVSpherevCenter.ps1
Line       : 430
Message    : The Variable 'sender' is an automatic variable that is built into 
             PowerShell, assigning to it might have undesired side effects. If 
             assignment is not by design, please use a different name.

RuleName   : PSUseProcessBlockForPipelineCommand
Severity   : Warning
ScriptName : Get-License.ps1
Line       : 35
Message    : Command accepts pipeline input but has not defined a process block.

RuleName   : PSUseProcessBlockForPipelineCommand
Severity   : Warning
ScriptName : Get-License.ps1
Line       : 38
Message    : Command accepts pipeline input but has not defined a process block.

RuleName   : PSPossibleIncorrectComparisonWithNull
Severity   : Warning
ScriptName : Get-License.ps1
Line       : 92
Message    : $null should be on the left side of equality comparisons.

RuleName   : PSPossibleIncorrectComparisonWithNull
Severity   : Warning
ScriptName : Get-License.ps1
Line       : 123
Message    : $null should be on the left side of equality comparisons.

RuleName   : PSAvoidOverwritingBuiltInCmdlets
Severity   : Warning
ScriptName : Get-Uptime.ps1
Line       : 1
Message    : 'Get-Uptime' is a cmdlet that is included with PowerShell (version 
             core-6.1.0-windows) whose definition should not be overridden

RuleName   : PSUseProcessBlockForPipelineCommand
Severity   : Warning
ScriptName : Get-Uptime.ps1
Line       : 6
Message    : Command accepts pipeline input but has not defined a process block.

RuleName   : PSAvoidTrailingWhitespace
Severity   : Information
ScriptName : Get-Uptime.ps1
Line       : 9
Message    : Line has trailing whitespace

- Add matrix strategy across windows-latest, ubuntu-latest, macos-latest
- Replace dorny/test-reporter with actions/upload-artifact (avoids XML
  format parsing issues; test results stored as downloadable artifacts)
- Add Codecov code coverage upload (Windows only)
- Add workflow_dispatch for manual runs
- Revert output format to NUnitXml (JUnitXml change reverted)
- Split module installs into separate named steps
- Always use pwsh shell (PS5.1 not supported by this module)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

PSScriptAnalyzer results:

Errors: [0], Warnings: [55], Information: [1]


RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 44
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 45
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 46
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 50
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 57
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 72
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 75
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 108
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 113
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 129
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 130
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 132
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 137
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 138
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 143
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 144
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 145
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 146
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 147
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 148
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 149
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 150
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 154
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 156
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 157
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 163
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 164
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 165
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 173
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 176
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 177
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 178
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 179
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 184
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 185
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 190
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 194
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 198
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 201
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSUseSingularNouns
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 6
Message    : The cmdlet 'Get-NestedLocalizationKeys' uses a plural noun. A 
             singular noun should be used instead.

RuleName   : PSAvoidUsingEmptyCatchBlock
Severity   : Warning
ScriptName : Get-AbrVSphereClusterProactiveHA.ps1
Line       : 92
Message    : Empty catch block is used. Please use Write-Error or throw 
             statements in catch blocks.

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Get-AbrVSphereVMHostSecurity.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Get-AbrVSphereVMHostSecurity.ps1'

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Get-AbrVSphereVMHostHardware.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Get-AbrVSphereVMHostHardware.ps1'

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Get-AbrVSphereClusterLCM.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Get-AbrVSphereClusterLCM.ps1'

RuleName   : PSUseSingularNouns
Severity   : Warning
ScriptName : Get-vCenterStats.ps1
Line       : 1
Message    : The cmdlet 'Get-vCenterStats' uses a plural noun. A singular noun 
             should be used instead.

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Get-AbrVSpherevSAN.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Get-AbrVSpherevSAN.ps1'

RuleName   : PSAvoidUsingEmptyCatchBlock
Severity   : Warning
ScriptName : Get-AbrVSpherevCenter.ps1
Line       : 266
Message    : Empty catch block is used. Please use Write-Error or throw 
             statements in catch blocks.

RuleName   : PSAvoidUsingEmptyCatchBlock
Severity   : Warning
ScriptName : Get-AbrVSpherevCenter.ps1
Line       : 629
Message    : Empty catch block is used. Please use Write-Error or throw 
             statements in catch blocks.

RuleName   : PSAvoidAssignmentToAutomaticVariable
Severity   : Warning
ScriptName : Get-AbrVSpherevCenter.ps1
Line       : 430
Message    : The Variable 'sender' is an automatic variable that is built into 
             PowerShell, assigning to it might have undesired side effects. If 
             assignment is not by design, please use a different name.

RuleName   : PSUseProcessBlockForPipelineCommand
Severity   : Warning
ScriptName : Get-License.ps1
Line       : 35
Message    : Command accepts pipeline input but has not defined a process block.

RuleName   : PSUseProcessBlockForPipelineCommand
Severity   : Warning
ScriptName : Get-License.ps1
Line       : 38
Message    : Command accepts pipeline input but has not defined a process block.

RuleName   : PSPossibleIncorrectComparisonWithNull
Severity   : Warning
ScriptName : Get-License.ps1
Line       : 92
Message    : $null should be on the left side of equality comparisons.

RuleName   : PSPossibleIncorrectComparisonWithNull
Severity   : Warning
ScriptName : Get-License.ps1
Line       : 123
Message    : $null should be on the left side of equality comparisons.

RuleName   : PSAvoidOverwritingBuiltInCmdlets
Severity   : Warning
ScriptName : Get-Uptime.ps1
Line       : 1
Message    : 'Get-Uptime' is a cmdlet that is included with PowerShell (version 
             core-6.1.0-windows) whose definition should not be overridden

RuleName   : PSUseProcessBlockForPipelineCommand
Severity   : Warning
ScriptName : Get-Uptime.ps1
Line       : 6
Message    : Command accepts pipeline input but has not defined a process block.

RuleName   : PSAvoidTrailingWhitespace
Severity   : Information
ScriptName : Get-Uptime.ps1
Line       : 9
Message    : Line has trailing whitespace

@codecov-commenter
Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@tpcarman tpcarman merged commit 2cd8833 into dev Mar 14, 2026
5 checks passed
@tpcarman tpcarman deleted the feature/v2-refactor branch March 14, 2026 05:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Include Summary InfoLevel 1 information

2 participants