AzStackHci.DiagnosticSettings
0.6.8
Microsoft Azure Local - Diagnostics settings and connectivity tests support module
Minimum PowerShell version
5.1
Installation Options
Owners
Copyright
(c) 2026 Microsoft Corporation. All rights reserved.
Package Details
Author(s)
- Microsoft Corporation
Tags
Microsoft AzStackHci Diagnostic Settings Connectivity AzureLocal
Functions
Get-AzStackHciMemoryDumpSettings Set-AzStackHciMemoryDumpSettings Restore-AzStackHciMemoryDumpSettings Get-AzStackHciPageFileSettings Restore-AzStackHciPageFileSettings Set-AzStackHciPageFileSettings Set-AzStackHciPageFileSettingsMinimal Get-AzStackHciUserModeCrashDumpSettings Set-AzStackHciUserModeCrashDumpSettings Restore-AzStackHciUserModeCrashDumpSettings Test-AzStackHciSSLInspection Send-ClusterPerformanceHistory Test-AzureLocalConnectivity Test-Layer7Connectivity Test-TCPConnectivity Get-AzStackHciOsConfigSettings Test-ArcMachinePrivateLinkScopeEnabled
PSEditions
Dependencies
This module has no dependencies.
Release Notes
## v0.6.8
Focus: make the -PassThru object contracts robust for consumption by other modules (e.g. AzStack.Insights). SchemaVersion bumps 1.0 -> 1.1 (additive only — new fields, nothing removed or renamed).
### Get-AzStackHciOsConfigSettings — predictable -ExportPath + first-class output location + opt-in inventory
- -ExportPath is now honoured LITERALLY as the destination ROOT. Each run creates a unique timestamped subfolder INSIDE it: <ExportPath>\<ClusterOrNodeName>-<yyyyMMdd-HHmmss>\. Previously the caller's leaf was rewritten to <ClusterName>_<leaf> and the run folder was placed as a SIBLING (via Split-Path -Parent), so the literal path never existed. Same layout for -Scope Node and -Scope Cluster; the root is created if missing.
- New default root = C:\ProgramData\AzStackHci.DiagnosticSettings (always writable on a locked-down Azure Local node, unlike C:\Temp). The automatic mirror of the HTML + JSON reports to ProgramData is retained.
- New -PassThru properties: OutputDirectory (the resolved run folder) and DataCollectionDirectory (<OutputDirectory>\Data-Collection, or null when no on-disk data was written), alongside HTMLReportPath / JSONReportPath. All four are null in -HealthSummaryOnly mode.
- New -IncludeInventoryData switch (default OFF): nests per-node InstalledPrograms / WindowsFeatures / Hotfixes / DriverVersions under each Nodes[] entry so consumers get typed data without parsing CSVs. Default OFF keeps casual -PassThru calls lightweight.
- Deep PSCustomObject normalisation of the -PassThru object: the returned object and every nested level (Nodes[], ConsistencyChecks, Fingerprints, Details, inventory entries) is a PSCustomObject, not an OrderedDictionary, so the live object behaves like a JSON round-trip and consumers can use $node.PSObject.Properties['X'] guards directly. Key order preserved; on-disk JSON unchanged. Additive / non-breaking.
- Data hygiene: inventory strings are trimmed, a single unbalanced wrapping double-quote is stripped (balanced "..." values like an UninstallString are preserved), and empty / (not parsed) / (not collected) placeholders are normalised to null. ArcAgentHealth.Details[] Status/Version cleaned the same way.
### Test-AzureLocalConnectivity — -PassThru reshaped into a structured object
- -PassThru now returns a normal PSCustomObject with run-level data on REAL properties and the per-URL rows nested under .Results — the same shape as the on-disk JSON summary (one contract). This replaces the fragile v0.6.7 pattern that bolted ~17 NoteProperty members onto the results ArrayList and returned ,$array: any pipeline op on the collection silently dropped those NoteProperties, and the ,$array return carried a "callers must not @()-wrap" landmine. Run-level fields now survive Where-Object / Select-Object / Sort-Object on .Results.
- SchemaVersion ("1.1") added to the connectivity object + JSON summary (parity with OsConfig).
- Cluster -PassThru unified: -Scope Cluster -PassThru returns the same structured shape, nesting each node's structured object (flat run-level fields + Detections + .Results) under .Nodes[]. The internal HTML/CSV cluster report is unchanged.
- BREAKING for anything that read the old container NoteProperties or iterated the return as rows. The module's own tests + Helpers\Compare-*Performance.ps1 / automated-test-all-azure-regions.ps1 were updated to read run-level data from $r.<field> and rows from $r.Results.
## v0.6.7 (recap)
Three headline features for Test-AzureLocalConnectivity: HEAD-method optimisation (-RequestMethod, default Auto = HEAD with GET fallback), process-isolated parallel fan-out (-Parallelism, default 1 = byte-identical sequential), and cluster-wide fan-out (-Scope Cluster). Get-AzStackHciOsConfigSettings gained the versioned machine-consumable health-summary contract (SchemaVersion 1.0, structured Nodes map + Fingerprints, CheckId + Severity registry, single PASS/WARNING/FAILURE/INFO/SKIPPED vocabulary) and the side-effect-free -HealthSummaryOnly switch. Results always copy to C:\ProgramData\AzStackHci.DiagnosticSettings; a custom -ExportPath was an additional copy target. Per-row MachineName column added.
For full version history (including v0.6.7 detail, v0.6.6 and earlier) see CHANGELOG.md shipped with this module.
FileList
- AzStackHci.DiagnosticSettings.nuspec
- CHANGELOG.md
- GitHub-URI-Cache_2026-07-09\canadacentral-hci-endpoints.md
- GitHub-URI-Cache_2026-07-09\japaneast-hci-endpoints.md
- GitHub-URI-Cache_2026-07-09\usgovvirginia-hci-endpoints.md
- Private\AzStackHci.ConnectivityCluster.Helpers.ps1
- Private\AzStackHci.HardwareOEM.Helpers.ps1
- Private\AzStackHci.ModuleManagement.Helpers.ps1
- Private\AzStackHci.ParallelLayer7.Helpers.ps1
- Private\AzStackHci.WildcardAndSubdomain.Helpers.ps1
- Public\AzStackHci.ConnectivityTests.ps1
- Public\AzStackHci.OsConfigSettings.ps1
- Public\AzStackHci.PrivateLinkScope.ps1
- Public\AzStackHci.UserModeCrashDumpSettings.ps1
- GitHub-URI-Cache_2026-07-09\OEMEndpoints\DellAzureLocalEndpoints.md
- GitHub-URI-Cache_2026-07-09\OEMEndpoints\HPEAzureLocalEndpoints.md
- AzStackHci.DiagnosticSettings.psd1
- README.md
- GitHub-URI-Cache_2026-07-09\eastus-hci-endpoints.md
- GitHub-URI-Cache_2026-07-09\southcentralus-hci-endpoints.md
- GitHub-URI-Cache_2026-07-09\westeurope-hci-endpoints.md
- Private\AzStackHci.Constants.ps1
- Private\AzStackHci.Layer7.Helpers.ps1
- Private\AzStackHci.Network.Helpers.ps1
- Private\AzStackHci.Results.Helpers.ps1
- Public\AzStackHci.ClusterPerformance.ps1
- Public\AzStackHci.MemoryDumpSettings.ps1
- Public\AzStackHci.PageFileSettings.ps1
- Public\AzStackHci.SSLInspection.ps1
- GitHub-URI-Cache_2026-07-09\OEMEndpoints\DataOnAzureLocalEndpoints.md
- GitHub-URI-Cache_2026-07-09\OEMEndpoints\HitachiAzureLocalEndpoints.md
- GitHub-URI-Cache_2026-07-09\OEMEndpoints\LenovoAzureLocalEndpoints.md
- AzStackHci.DiagnosticSettings.psm1
- GitHub-URI-Cache_2026-07-09\AustraliaEast-hci-endpoints.md
- GitHub-URI-Cache_2026-07-09\IndiaCentral-hci-endpoints.md
- GitHub-URI-Cache_2026-07-09\southeastasia-hci-endpoints.md
- Private\AzStackHci.Connectivity.Helpers.ps1
- Private\AzStackHci.DNS.Helpers.ps1
- Private\AzStackHci.MemoryDump.Helpers.ps1
- Private\AzStackHci.OsConfigReport.Helpers.ps1
- Private\AzStackHci.Utility.Helpers.ps1
- .signature.p7s