diff --git a/tools/CSSTools/1.2608.31.1/README.md b/tools/CSSTools/1.2608.31.1/README.md index e70c1e66..280c5a32 100644 --- a/tools/CSSTools/1.2608.31.1/README.md +++ b/tools/CSSTools/1.2608.31.1/README.md @@ -1,6 +1,25 @@ +# Microsoft.AzLocal.CSSTools command overview + +This page lists every command documented for `Microsoft.AzLocal.CSSTools` version `1.2608.31.1`. +It covers exported functions, insight component invocations, remediation invocations and support script +invocations. Follow each command link for parameter details and examples. Each linked page also +describes command output. + +## Contents + +- [Release notes](#release-notes) +- [Module setup](#module-setup) +- [Exported functions](#exported-functions) +- [Insight commands](#insight-commands) +- [Remediation commands](#remediation-commands) +- [Support script commands](#support-script-commands) +- [Related references](#related-references) + +## Release notes + This article describes the contents of the latest [Microsoft.AzLocal.CSSTools 1.2608.31.1](https://www.powershellgallery.com/packages/Microsoft.AzLocal.CSSTools) module changes. This update includes improvements and fixes for the latest release of Microsoft.AzLocal.CSSTools that is supported to run on Azure Local deployments. -# Download the update +### Download the update You can download the latest version of Microsoft.AzLocal.CSSTools by running `Update-Module -Name Microsoft.AzLocal.CSSTools` on each of the Azure Local cluster nodes. After you have downloaded the module, ensure you remove the current version from the runspace by using `Remove-Module` and import the latest version using `Import-Module`. @@ -15,12 +34,12 @@ Remove-Module -Name Microsoft.AzLocal.CSSTools Import-Module -Name Microsoft.AzLocal.CSSTools ``` -# What's new +### What's new > [!TIP] > **New Insight HTML report experience.** The cluster-wide report generated by `Invoke-AzsSupportInsight` now has a redesigned, interactive layout — a dark/light mode toggle, a one-click-copy cluster details summary (deployment ID, module version, ARM resource ID, hardware OEM/SKU, solution/platform/OS versions, region, node count), and findings you can group by analyzer or by node, each showing its remediation, evidence, and documentation links. See "Insight Framework & Remediation" under Detailed Changes below for the full list of report changes. -## Support Insights +#### Support Insights The following insight rules are new and run within the existing [HostStorage](insights/HostStorage.md) and [OperatingSystem](insights/OperatingSystem.md) components. For the full component reference, see [insights](insights/README.md). @@ -30,7 +49,7 @@ The following insight rules are new and run within the existing [HostStorage](in | Windows.Cluster.CSV.GhostMountPoint | Classifies a ghost Cluster Shared Volume mount point. | | Windows.Storage.HealthProcess.OrphanedMultiLeader | Detects multiple concurrent healthpih.exe processes on the local node. | -## Insight Remediation +#### Insight Remediation As issues are detected within the Insight framework, we can provide remediation guidance to execute `Invoke-AzsSupportInsightRemediation` commands that run validated, signed remediation scripts. We recommend only running these remediation scripts when insights provide guidance to run them. For the full list of remediations, see [remediations](remediations/README.md). @@ -39,7 +58,7 @@ As issues are detected within the Insight framework, we can provide remediation | [RemoveUnreferencedGhostCsvMountPoints](remediations/RemoveUnreferencedGhostCsvMountPoints.md) | Removes unreferenced ghost Cluster Shared Volume mount points (C:\ClusterStorage.00X). | | [RestartHealthServiceProcesses](remediations/RestartHealthServiceProcesses.md) | Stops every healthpih.exe process on the local node so the Health service starts a single replacement plugin host. | -## Core Framework +#### Core Framework In addition to code and reliability fixes, the following public functions are new in this release. @@ -47,9 +66,9 @@ In addition to code and reliability fixes, the following public functions are ne `Invoke-AzsSupportDiagnosticCheck` has been removed. Use `Invoke-AzsSupportInsight` for supported diagnostic checks. A comprehensive list of all functions can be found under [functions](functions/README.md). -## Detailed Changes +#### Detailed Changes -### Insight Framework & Remediation +##### Insight Framework & Remediation - Consolidated `Trace-Output` and `Write-InsightLog` into a single `Write-AzsSupportLog` entry point in a new `AzStack.Observability` module used by every `AzStack.*` module; `Enable-AzsSupportInsightLog` and `Disable-AzsSupportInsightLog` are now deprecated wrappers around `Enable-AzsSupportTraceLog` and `Disable-AzsSupportTraceLog`. - Initialized Insight rule `ErrorMessage` values as scalar strings and preserved multi-message rule output by aggregating and joining before assignment. @@ -57,7 +76,7 @@ In addition to code and reliability fixes, the following public functions are ne - Fixed `KnownIssues` throwing an unhandled exception (surfaced as an empty-summary `UNKNOWN` result) when a version-specific analyzer path's `CurrentVersion` was null, empty, or a raw string; the component now returns `NOT_APPLICABLE` when the current version can't be determined and coerces a string `CurrentVersion` to `[System.Version]` so the correct version-specific check still resolves. - Rebuilt the cluster-wide Insight HTML report with a redesigned, interactive layout: a dark/light mode toggle, a cluster details summary (deployment ID, module version, ARM resource ID, hardware OEM/SKU, solution/platform/OS versions, region, node count) with one-click copy, and results groupable by analyzer or by node, each showing remediation, evidence, and documentation links per finding. Hardened the remote collection behind `Invoke-AzsSupportInsight` with per-node job isolation and stricter validation of the collected report artifacts. -### New Insights Added +##### New Insights Added - Added the `Windows.Cluster.CSV.GhostMountPoint` rule, which classifies a ghost Cluster Shared Volume mount point by what still references it, with a paired [RemoveUnreferencedGhostCsvMountPoints](remediations/RemoveUnreferencedGhostCsvMountPoints.md) remediation that removes it only when a strict reference check passes. - Added the `Windows.Storage.HealthProcess.OrphanedMultiLeader` rule, which detects multiple concurrent `healthpih.exe` processes on the local node that can prevent Storage Maintenance Mode from holding, with a paired [RestartHealthServiceProcesses](remediations/RestartHealthServiceProcesses.md) remediation. @@ -66,20 +85,20 @@ In addition to code and reliability fixes, the following public functions are ne - Added official Microsoft Learn documentation links, surfaced through each rule's `DocLink`, for the Domain Group Policies Applied and Power Plan Health OS configuration findings. - Lowered the `Windows.Security.Crypto.MachineKeys.Count` insight thresholds (warning: 350,000 → 120,000; failure: 500,000 → 200,000) so the check flags an excessive machine key count earlier. -### Networking +##### Networking - Suppressed a false SDN Service State WARNING for `SlbHostAgent` on Arc-Enabled SDN (`FailoverCluster` cluster config) deployments, where the service is intentionally stopped. -### AKS Arc / MOC / ARB +##### AKS Arc / MOC / ARB - Updated the Support.AksArc module to 1.3.126. - Bounded MOC/ARB insight operations (`Get-MocConfig`, kubeconfig discovery/parsing, MOC working-directory probes) with process-isolated wall-clock timeouts so a degraded cluster can no longer hang the analyzer indefinitely; a timeout now surfaces as `UNKNOWN` instead of being cached as an empty result. -### Infrastructure & Modules +##### Infrastructure & Modules - Added an explicit, queue-time version override parameter to the official build pipeline, while preserving the existing automatic UTC-timestamp versioning when it is not supplied. -### Bug Fixes & Misc +##### Bug Fixes & Misc - Fixed observability event emission to preserve the full `ErrorRecord` (not just the exception) so stack traces and invocation details flow to observability, and fixed a duration-reporting bug that reported only the seconds component instead of the total elapsed seconds. - Applied non-inheriting ACLs to diagnostic output directories, restricting full control to `BUILTIN\Administrators` and `NT AUTHORITY\SYSTEM`, on both initial creation and trace-output directory recreation. @@ -95,6 +114,168 @@ In addition to code and reliability fixes, the following public functions are ne --- -# Contact Us +### Contact Us If you are encountering an issue, or need assistance, refer to [questions-or-feedback](https://learn.microsoft.com/en-us/azure/azure-local/manage/support-tools#questions-or-feedback). + +## Module setup + +Run PowerShell as an administrator on an Azure Local system or a management computer with access to +the target environment. + +```powershell +Install-Module -Name Microsoft.AzLocal.CSSTools -Force +Import-Module -Name Microsoft.AzLocal.CSSTools -Force +``` + +List the commands exported by the installed module: + +```powershell +Get-Command -Module Microsoft.AzLocal.CSSTools +``` + +Open the complete help for one function: + +```powershell +Get-Help -Full +``` + +The syntax below omits `-ProgressAction` and PowerShell common parameters. Optional parameters appear +in square brackets. Required parameters appear without square brackets. + +## Exported functions + +| Function | Condensed syntax | Purpose | +| --- | --- | --- | +| [Clear-AzsSupportDirectory](./functions/Clear-AzsSupportDirectory.md) | `Clear-AzsSupportDirectory [-Path ] [-Recurse] [-Force]`
`Clear-AzsSupportDirectory [-ComputerName ] [-Credential ] [-Path ] [-Recurse] [-Force]` | Clears approved local or remote directory contents. | +| [Clear-AzsSupportParentWorkingDirectory](./functions/Clear-AzsSupportParentWorkingDirectory.md) | `Clear-AzsSupportParentWorkingDirectory [[-LastWriteTime] ]` | Clears stale support working directory contents on infrastructure nodes. | +| [Compress-AzsSupportArchive](./functions/Compress-AzsSupportArchive.md) | `Compress-AzsSupportArchive -Path [[-Destination] ] [[-CompressionLevel] ]` | Creates a ZIP archive from a directory. | +| [Confirm-AzsSupportOSVersion](./functions/Confirm-AzsSupportOSVersion.md) | `Confirm-AzsSupportOSVersion -Version `
`Confirm-AzsSupportOSVersion -MinimumVersion ` | Checks the current operating system version. | +| [Convert-AzsSupportStorageAttributes](./functions/Convert-AzsSupportStorageAttributes.md) | `Convert-AzsSupportStorageAttributes -DiskHealth ` | Translates SBL storage attribute values. | +| [Copy-AzsSupportFileFromComputer](./functions/Copy-AzsSupportFileFromComputer.md) | `Copy-AzsSupportFileFromComputer -Path -ComputerName [[-Destination] ] [[-Credential] ] [-Recurse] [-Force]` | Copies items from remote computers. | +| [Copy-AzsSupportFileToComputer](./functions/Copy-AzsSupportFileToComputer.md) | `Copy-AzsSupportFileToComputer -Path -ComputerName [[-Destination] ] [[-Credential] ] [-Recurse] [-Force]` | Copies local items to remote computers. | +| [Disable-AzsSupportInsightLog](./functions/Disable-AzsSupportInsightLog.md) | `Disable-AzsSupportInsightLog` | Disables AzStack Insights file logging. | +| [Disable-AzsSupportTraceLog](./functions/Disable-AzsSupportTraceLog.md) | `Disable-AzsSupportTraceLog` | Disables AzStack Support file logging. | +| [Enable-AzsSupportInsightLog](./functions/Enable-AzsSupportInsightLog.md) | `Enable-AzsSupportInsightLog` | Enables AzStack Insights file logging. | +| [Enable-AzsSupportTraceLog](./functions/Enable-AzsSupportTraceLog.md) | `Enable-AzsSupportTraceLog` | Enables AzStack Support file logging. | +| [Get-AzsStorageDiskPnpId](./functions/Get-AzsStorageDiskPnpId.md) | `Get-AzsStorageDiskPnpId [[-ComputerName] ] [[-Credential] ]` | Gets PNP data for Storage Spaces disks. | +| [Get-AzsSupportBlocklistedDisk](./functions/Get-AzsSupportBlocklistedDisk.md) | `Get-AzsSupportBlocklistedDisk [[-ComputerName] ] [[-Credential] ] [[-SerialNumber] ]` | Gets blocklisted disks from the cluster filter service. | +| [Get-AzsSupportClusterName](./functions/Get-AzsSupportClusterName.md) | `Get-AzsSupportClusterName [[-Name] ]` | Gets the failover cluster name. | +| [Get-AzsSupportClusterUsage](./functions/Get-AzsSupportClusterUsage.md) | `Get-AzsSupportClusterUsage [[-ClusterName] ] [[-CimSession] ]` | Calculates cluster storage usage and capacity. | +| [Get-AzsSupportDataIntegrityScanState](./functions/Get-AzsSupportDataIntegrityScanState.md) | `Get-AzsSupportDataIntegrityScanState [[-ComputerName] ] [[-Credential] ]` | Gets the data integrity task state from reachable cluster nodes. | +| [Get-AzsSupportDiskSpace](./functions/Get-AzsSupportDiskSpace.md) | `Get-AzsSupportDiskSpace [[-ComputerName] ] -DriveLetter [[-Credential] ]` | Gets free space for one drive on target computers. | +| [Get-AzsSupportDiskSpaceReport](./functions/Get-AzsSupportDiskSpaceReport.md) | `Get-AzsSupportDiskSpaceReport [[-Cluster] ] -DriveLetter ` | Creates a free space report for infrastructure hosts. | +| [Get-AzsSupportECECloudDefinitionXml](./functions/Get-AzsSupportECECloudDefinitionXml.md) | `Get-AzsSupportECECloudDefinitionXml` | Gets the ECE cloud definition as XML. | +| [Get-AzsSupportEceDeploymentDetails](./functions/Get-AzsSupportEceDeploymentDetails.md) | `Get-AzsSupportEceDeploymentDetails` | Gets ECE deployment details. | +| [Get-AzsSupportEceManagementClusterName](./functions/Get-AzsSupportEceManagementClusterName.md) | `Get-AzsSupportEceManagementClusterName` | Gets the management cluster name from the ECE cloud definition. | +| [Get-AzsSupportHostNetworkDiagnosticData](./functions/Get-AzsSupportHostNetworkDiagnosticData.md) | `Get-AzsSupportHostNetworkDiagnosticData [[-FilePrefix] ] [[-OutputDirectory] ] [-SkipCompression]` | Collects local host network diagnostic data. | +| [Get-AzsSupportInfrastructureHost](./functions/Get-AzsSupportInfrastructureHost.md) | `Get-AzsSupportInfrastructureHost [[-Name] ] [[-Cluster] ] [[-State] ]` | Gets physical host node data from Failover Clustering. | +| [Get-AzsSupportLcmDeploymentUserName](./functions/Get-AzsSupportLcmDeploymentUserName.md) | `Get-AzsSupportLcmDeploymentUserName` | Gets the LCM deployment account name. | +| [Get-AzsSupportPhysicalDisk](./functions/Get-AzsSupportPhysicalDisk.md) | `Get-AzsSupportPhysicalDisk [[-CimSession] ] [[-SerialNumber] ] [[-PD] ] [-UnhealthyDisks] [-LocalOnly] [[-UniqueId] ] [[-StorageSubSystem] ] [[-StoragePool] ]` | Gets physical disks from a target computer. | +| [Get-AzsSupportPhysicalDiskIndicator](./functions/Get-AzsSupportPhysicalDiskIndicator.md) | `Get-AzsSupportPhysicalDiskIndicator [[-SerialNumber] ] -CimSession ` | Gets disk indicator light state. | +| [Get-AzsSupportProcess](./functions/Get-AzsSupportProcess.md) | `Get-AzsSupportProcess [-ComputerName ] [-UseWinRM] [-Top ]`
`Get-AzsSupportProcess [-ComputerName ] [-UseTasklist]`
`Get-AzsSupportProcess [-ComputerName ] [-ProcessId ] [-UseWinRM]`
`Get-AzsSupportProcess [-ComputerName ] [-Name ] [-UseWinRM]` | Gets processes from a remote computer. | +| [Get-AzsSupportService](./functions/Get-AzsSupportService.md) | `Get-AzsSupportService [-ComputerName ] [-UseWinRM]`
`Get-AzsSupportService [-ComputerName ] [-Name ] [-UseWinRM]` | Gets services from target computers. | +| [Get-AzsSupportStampInformation](./functions/Get-AzsSupportStampInformation.md) | `Get-AzsSupportStampInformation` | Gets common stamp information. | +| [Get-AzsSupportStorageAutoPauseEvents](./functions/Get-AzsSupportStorageAutoPauseEvents.md) | `Get-AzsSupportStorageAutoPauseEvents -StartTime -EndTime -Nodes ` | Gets volume autopause events. | +| [Get-AzsSupportStorageCacheDetails](./functions/Get-AzsSupportStorageCacheDetails.md) | `Get-AzsSupportStorageCacheDetails [[-ComputerName] ] [[-Credential] ]` | Gets cache drive usage and error data. | +| [Get-AzsSupportStorageDirtyCount](./functions/Get-AzsSupportStorageDirtyCount.md) | `Get-AzsSupportStorageDirtyCount [[-ComputerName] ] [[-Credential] ]` | Checks dirty counts for Cluster Shared Volumes. | +| [Get-AzsSupportStorageDiskInfoGraphicDisplay](./functions/Get-AzsSupportStorageDiskInfoGraphicDisplay.md) | `Get-AzsSupportStorageDiskInfoGraphicDisplay [[-ClusterName] ]` | Displays threshold-based Cluster Shared Volume space data. | +| [Get-AzsSupportStorageDiskLatency](./functions/Get-AzsSupportStorageDiskLatency.md) | `Get-AzsSupportStorageDiskLatency [[-Latency] ] [[-StartTime] ] [[-EndTime] ] -Nodes [[-Credential] ]` | Checks live cluster events for disk latency. | +| [Get-AzsSupportStorageDiskSBLState](./functions/Get-AzsSupportStorageDiskSBLState.md) | `Get-AzsSupportStorageDiskSBLState [[-ComputerName] ] [[-Credential] ]` | Gets the SBL state for disks. | +| [Get-AzsSupportStorageFirmwareDrift](./functions/Get-AzsSupportStorageFirmwareDrift.md) | `Get-AzsSupportStorageFirmwareDrift [[-CimSession] ]` | Checks Storage Spaces firmware drift. | +| [Get-AzsSupportStorageHealthActionDetail](./functions/Get-AzsSupportStorageHealthActionDetail.md) | `Get-AzsSupportStorageHealthActionDetail [[-ComputerName] ] [[-Credential] ] [-FilterNotSucceeded] [-ShowFailedOnly] [-ShowRunningOnly] [[-TimeFilterHours] ]` | Gets filtered storage health action details. | +| [Get-AzsSupportStorageHealthFault](./functions/Get-AzsSupportStorageHealthFault.md) | `Get-AzsSupportStorageHealthFault [[-CimSession] ]` | Gets cluster storage health faults. | +| [Get-AzsSupportStorageJob](./functions/Get-AzsSupportStorageJob.md) | `Get-AzsSupportStorageJob [-CimSession ] [-Wait] [-IncludeStoragePoolOptimizationJob] [-RefreshInSeconds ]` | Gets active storage jobs. | +| [Get-AzsSupportStorageMissingDisks](./functions/Get-AzsSupportStorageMissingDisks.md) | `Get-AzsSupportStorageMissingDisks [[-Cluster] ] [[-Credential] ]` | Checks Storage Spaces for missing disks. | +| [Get-AzsSupportStorageNode](./functions/Get-AzsSupportStorageNode.md) | `Get-AzsSupportStorageNode [[-Name] ] [[-CimSession] ]` | Gets one storage node or all storage nodes. | +| [Get-AzsSupportStoragePartitionInfo](./functions/Get-AzsSupportStoragePartitionInfo.md) | `Get-AzsSupportStoragePartitionInfo [[-ComputerName] ] [[-Credential] ]` | Gets disk partition data from cluster nodes. | +| [Get-AzsSupportStoragePhysicalExtent](./functions/Get-AzsSupportStoragePhysicalExtent.md) | `Get-AzsSupportStoragePhysicalExtent -Friendlyname -CimSession ` | Gets physical allocations for an unhealthy virtual disk. | +| [Get-AzsSupportStoragePool](./functions/Get-AzsSupportStoragePool.md) | `Get-AzsSupportStoragePool [[-FriendlyName] ] [[-CimSession] ] [[-IsPrimordial] ]` | Gets one storage pool or all storage pools. | +| [Get-AzsSupportStorageSNV](./functions/Get-AzsSupportStorageSNV.md) | `Get-AzsSupportStorageSNV [[-CimSession] ]` | Checks storage node views for unhealthy disks. | +| [Get-AzsSupportStorageSubsystem](./functions/Get-AzsSupportStorageSubsystem.md) | `Get-AzsSupportStorageSubsystem [[-FriendlyName] ] [[-CimSession] ]` | Gets one storage subsystem or all storage subsystems. | +| [Get-AzsSupportStorageSupportedComponents](./functions/Get-AzsSupportStorageSupportedComponents.md) | `Get-AzsSupportStorageSupportedComponents [[-CimSession] ]` | Checks supported Storage Spaces hardware and firmware. | +| [Get-AzsSupportStorPortDriverEvents](./functions/Get-AzsSupportStorPortDriverEvents.md) | `Get-AzsSupportStorPortDriverEvents -ClusterName -StartTime -EndTime [[-Credential] ]` | Gets StorPort driver events. | +| [Get-AzsSupportStorPortOpEvents](./functions/Get-AzsSupportStorPortOpEvents.md) | `Get-AzsSupportStorPortOpEvents -ClusterName -StartTime -EndTime [[-Credential] ]` | Gets StorPort operational events. | +| [Get-AzsSupportVirtualDisk](./functions/Get-AzsSupportVirtualDisk.md) | `Get-AzsSupportVirtualDisk [[-CimSession] ] [[-FriendlyName] ]` | Gets virtual disks and their health state. | +| [Get-AzsSupportVolumeUtilization](./functions/Get-AzsSupportVolumeUtilization.md) | `Get-AzsSupportVolumeUtilization [[-Filter] ] [[-CimSession] ]` | Reports object store utilization. | +| [Get-AzsSupportWinEvent](./functions/Get-AzsSupportWinEvent.md) | `Get-AzsSupportWinEvent -LogName [[-Cluster] ] [[-ClusterNodes] ] [[-Message] ] [[-EventId] ] [[-FilterInformation] ] [[-ProviderName] ] [[-Backwards] ] [[-Date] ] [[-Duration] ] [[-Detailed] ]` | Gets filtered event log entries. | +| [Get-AzsSupportWorkingDirectory](./functions/Get-AzsSupportWorkingDirectory.md) | `Get-AzsSupportWorkingDirectory` | Gets the current support tools working directory. | +| [Install-AzsSupportModule](./functions/Install-AzsSupportModule.md) | `Install-AzsSupportModule -ComputerName [[-Credential] ] [-Force]` | Installs the support module on remote computers. | +| [Invoke-AzsSupportApplianceEndpoint](./functions/Invoke-AzsSupportApplianceEndpoint.md) | `Invoke-AzsSupportApplianceEndpoint [[-Url] ] [[-Certificate] ] -Endpoint [-ConvertToJson]` | Calls an Azure Local support appliance endpoint. | +| [Invoke-AzsSupportCommand](./functions/Invoke-AzsSupportCommand.md) | `Invoke-AzsSupportCommand -ComputerName [-Credential ] -ScriptBlock [-HideComputerName] [-ArgumentList ] [-AsJob] [-Wait] [-PassThru] [-Activity ] [-ExecutionTimeout ]` | Runs a script block on local or remote computers. | +| [Invoke-AzsSupportInsight](./functions/Invoke-AzsSupportInsight.md) | `Invoke-AzsSupportInsight [-OutputDirectory ] [-ComputerName ] [-Credential ] [-SkipSummary] [-SkipHtmlReport]`
`Invoke-AzsSupportInsight -Component [-OutputDirectory ] [-ComputerName ] [-Credential ] [-SkipSummary] [-SkipHtmlReport]` | Runs all insight components or selected components. | +| [Invoke-AzsSupportInsightRemediation](./functions/Invoke-AzsSupportInsightRemediation.md) | `Invoke-AzsSupportInsightRemediation -ScriptName [[-Parameters] ]` | Runs a signed insight remediation. | +| [Invoke-AzsSupportScript](./functions/Invoke-AzsSupportScript.md) | `Invoke-AzsSupportScript -ScriptName [[-Parameters] ]` | Runs a signed support script. | +| [New-AzsSupportDataBundle](./functions/New-AzsSupportDataBundle.md) | `New-AzsSupportDataBundle [-Component ]`
`New-AzsSupportDataBundle [-ClusterCommands ] [-NodeCommands ] [-NodeEvents ] [-NodeRegistry ] [-NodeFolders ] [-ComputerName ]` | Creates an automatic or custom support data bundle. | +| [New-AzsSupportStorageSupportedComponents](./functions/New-AzsSupportStorageSupportedComponents.md) | `New-AzsSupportStorageSupportedComponents [[-CimSession] ]` | Builds a proposed supported components configuration. | +| [Restart-AzsSupportClusterHealthService](./functions/Restart-AzsSupportClusterHealthService.md) | `Restart-AzsSupportClusterHealthService [[-Cluster] ]` | Restarts the cluster health service. | +| [Set-AzsSupportNetworkATCIntentApplyWithTracing](./functions/Set-AzsSupportNetworkATCIntentApplyWithTracing.md) | `Set-AzsSupportNetworkATCIntentApplyWithTracing -IntentName [[-OutputDirectory] ]` | Applies a Network ATC intent with tracing enabled. | +| [Set-AzsSupportPhysicalDiskIndicator](./functions/Set-AzsSupportPhysicalDiskIndicator.md) | `Set-AzsSupportPhysicalDiskIndicator -Enable -SerialNumber -CimSession `
`Set-AzsSupportPhysicalDiskIndicator -Disable -SerialNumber -CimSession ` | Enables or disables a physical disk indicator light. | +| [Show-AzsSupportEceData](./functions/Show-AzsSupportEceData.md) | `Show-AzsSupportEceData` | Displays ECE data for the current cluster. | +| [Show-AzsSupportEceDeploymentDetail](./functions/Show-AzsSupportEceDeploymentDetail.md) | `Show-AzsSupportEceDeploymentDetail` | Displays ECE deployment details for the current cluster. | +| [Show-AzsSupportEceUpdateDetail](./functions/Show-AzsSupportEceUpdateDetail.md) | `Show-AzsSupportEceUpdateDetail [[-MaxUpdateRuns] ]` | Displays ECE update action plan details. | +| [Show-AzsSupportEnvironmentValidatorSummary](./functions/Show-AzsSupportEnvironmentValidatorSummary.md) | `Show-AzsSupportEnvironmentValidatorSummary [-Concise]` | Displays environment validator results from the event log. | +| [Show-AzsSupportSDNStateSummary](./functions/Show-AzsSupportSDNStateSummary.md) | `Show-AzsSupportSDNStateSummary` | Displays the current SDN state. | +| [Start-AzsSupportStorageDiagnostic](./functions/Start-AzsSupportStorageDiagnostic.md) | `Start-AzsSupportStorageDiagnostic [[-ClusterName] ] [[-Credential] ] [[-PhysicalExtentCheck] ] [[-Include] ]` | Runs storage diagnostic tests and creates a report. | +| [Test-AzsSupportDiskPartitionValid](./functions/Test-AzsSupportDiskPartitionValid.md) | `Test-AzsSupportDiskPartitionValid -Disk ` | Checks whether a physical disk partition layout is expected. | +| [Test-AzsSupportSolutionInstalled](./functions/Test-AzsSupportSolutionInstalled.md) | `Test-AzsSupportSolutionInstalled [-Terminating]` | Checks for the Azure Local solution on the current system. | +| [Update-AzsSupportStorageHealthCache](./functions/Update-AzsSupportStorageHealthCache.md) | `Update-AzsSupportStorageHealthCache [[-Cluster] ]` | Refreshes storage cache and health cluster resources. | + +## Insight commands + +Run every insight component: + +```powershell +Invoke-AzsSupportInsight +``` + +Run one component with the command shown in the table. Pass several component names to `-Component` +as a PowerShell array. + +| Component | Command | Scope | +| --- | --- | --- | +| [ControlPlaneOperations](./insights/ControlPlaneOperations.md) | `Invoke-AzsSupportInsight -Component ControlPlaneOperations` | Azure Local control plane services. | +| [HostCompute](./insights/HostCompute.md) | `Invoke-AzsSupportInsight -Component HostCompute` | Cluster nodes and host compute services. | +| [HostNetwork](./insights/HostNetwork.md) | `Invoke-AzsSupportInsight -Component HostNetwork` | Host networking and Network ATC. | +| [HostStorage](./insights/HostStorage.md) | `Invoke-AzsSupportInsight -Component HostStorage` | Host storage and Cluster Shared Volumes. | +| [KnownIssues](./insights/KnownIssues.md) | `Invoke-AzsSupportInsight -Component KnownIssues` | Recognized Azure Local issues. | +| [LifecycleOrchestration](./insights/LifecycleOrchestration.md) | `Invoke-AzsSupportInsight -Component LifecycleOrchestration` | Lifecycle services for ECE and LCM update operations. | +| [OperatingSystem](./insights/OperatingSystem.md) | `Invoke-AzsSupportInsight -Component OperatingSystem` | Operating system state and failure events. | +| [VirtualMachines](./insights/VirtualMachines.md) | `Invoke-AzsSupportInsight -Component VirtualMachines` | Virtual machines and VM network adapters. | + +## Remediation commands + +Run a remediation only when an insight result names it. Review its linked page before execution. +Remediations change system state and run on the local node. The dispatcher accepts `-Force` and +`-SkipEnvironmentCheck` inside the `-Parameters` hashtable when the selected remediation supports them. + +| Remediation | Command | Action | +| --- | --- | --- | +| [ClearTrustedHostsWildcard](./remediations/ClearTrustedHostsWildcard.md) | `Invoke-AzsSupportInsightRemediation -ScriptName "ClearTrustedHostsWildcard"` | Removes the wildcard entry from WinRM TrustedHosts. | +| [DisableWindowsUpdate](./remediations/DisableWindowsUpdate.md) | `Invoke-AzsSupportInsightRemediation -ScriptName "DisableWindowsUpdate"` | Disables automatic Windows Update through policy. | +| [IncreaseWmiQuotaConfig](./remediations/IncreaseWmiQuotaConfig.md) | `Invoke-AzsSupportInsightRemediation -ScriptName "IncreaseWmiQuotaConfig"` | Increases WMI Provider Host quotas. | +| [RemovedFailedUpdateEceActionPlans](./remediations/RemovedFailedUpdateEceActionPlans.md) | `Invoke-AzsSupportInsightRemediation -ScriptName "RemovedFailedUpdateEceActionPlans"` | Removes failed ECE update action plans. | +| [RemoveFailoverClusterApiDll](./remediations/RemoveFailoverClusterApiDll.md) | `Invoke-AzsSupportInsightRemediation -ScriptName "RemoveFailoverClusterApiDll"` | Removes the stray Failover Cluster API DLL. | +| [RemoveHealthCheckFilesForUpdates](./remediations/RemoveHealthCheckFilesForUpdates.md) | `Invoke-AzsSupportInsightRemediation -ScriptName "RemoveHealthCheckFilesForUpdates"` | Removes update health check files. | +| [RemoveIncompatibleAzCliExtensions](./remediations/RemoveIncompatibleAzCliExtensions.md) | `Invoke-AzsSupportInsightRemediation -ScriptName "RemoveIncompatibleAzCliExtensions"` | Removes unmanaged Azure CLI extensions. | +| [RemoveUnreferencedGhostCsvMountPoints](./remediations/RemoveUnreferencedGhostCsvMountPoints.md) | `Invoke-AzsSupportInsightRemediation -ScriptName "RemoveUnreferencedGhostCsvMountPoints"` | Removes unreferenced ghost Cluster Shared Volume mount points. | +| [ReplaceIgvmAgentBinary](./remediations/ReplaceIgvmAgentBinary.md) | `Invoke-AzsSupportInsightRemediation -ScriptName "ReplaceIgvmAgentBinary"` | Replaces the IGVM agent binary and restarts its service. | +| [ResetCredSSPConfiguration](./remediations/ResetCredSSPConfiguration.md) | `Invoke-AzsSupportInsightRemediation -ScriptName "ResetCredSSPConfiguration"` | Restores the required CredSSP configuration. | +| [RestartHealthServiceProcesses](./remediations/RestartHealthServiceProcesses.md) | `Invoke-AzsSupportInsightRemediation -ScriptName "RestartHealthServiceProcesses"` | Restarts the Health service plugin host on the local node. | +| [UnlockAzureLocalAccounts](./remediations/UnlockAzureLocalAccounts.md) | `Invoke-AzsSupportInsightRemediation -ScriptName "UnlockAzureLocalAccounts" -Parameters @{ Account = "" }` | Restores the required state for an Azure Local account. | + +## Support script commands + +Support scripts perform high-impact operations. Microsoft CSS or Engineering personnel must direct +their use. Confirm every precondition on the linked script page. Use `WhatIf = $true` in the parameter +hashtable when the script supports preview mode. + +| Script | Command | Execution location | +| --- | --- | --- | +| [ClearStorageHealthData](./scripts/ClearStorageHealthData.md) | `Invoke-AzsSupportScript -ScriptName "ClearStorageHealthData" -Parameters @{ MaintenanceModeIntent = $true; WhatIf = $true }`
`Invoke-AzsSupportScript -ScriptName "ClearStorageHealthData" -Parameters @{ PhysicalDiskIntent = $true; PhysicalDiskPolicy = $true; UniqueId = ""; WhatIf = $true }`
`Invoke-AzsSupportScript -ScriptName "ClearStorageHealthData" -Parameters @{ PhysicalDiskIntent = $true; PhysicalDiskPolicy = $true; SerialNumber = ""; WhatIf = $true }`
`Invoke-AzsSupportScript -ScriptName "ClearStorageHealthData" -Parameters @{ Name = ""; Key = ""; ProviderGuid = ""; WhatIf = $true }` | A cluster node with `healthapi.dll`. | +| [Remove-SetSecuredCoreGuestConfig](./scripts/Remove-SetSecuredCoreGuestConfig.md) | `Invoke-AzsSupportScript -ScriptName "Remove-SetSecuredCoreGuestConfig" -Parameters @{ ClusterArmId = ""; WhatIf = $true }`
`Invoke-AzsSupportScript -ScriptName "Remove-SetSecuredCoreGuestConfig" -Parameters @{ ClusterArmId = "" }` | A computer with an authenticated Az PowerShell context. | + +## Related references + +Folder indexes provide focused references for [functions](./functions/README.md), [insights](./insights/README.md), +[remediations](./remediations/README.md) and [support scripts](./scripts/README.md).