AzLocal.UpdateManagement
0.8.78
PowerShell module to manage Azure Local (formerly Azure Stack HCI) cluster updates using Azure Update Manager APIs. Provides functions to start updates, check update status, list available updates, and monitor update runs. Renamed from AzStackHci.ManageUpdates in v0.7.3 to align with the Azure Local product name.
Minimum PowerShell version
5.1
Installation Options
Owners
Copyright
(c) Microsoft. All rights reserved.
Package Details
Author(s)
- Neil Bird Microsoft
Tags
Azure AzureLocal AzureStackHCI Updates UpdateManager HCI Automation CICD Pipeline ServiceNow ITSM Incident
Functions
Connect-AzLocalServicePrincipal Start-AzLocalClusterUpdate Get-AzLocalClusterUpdateReadiness Get-AzLocalClusterInventory Get-AzLocalClusterInfo Get-AzLocalUpdateSummary Get-AzLocalAvailableUpdates Get-AzLocalUpdateRuns Set-AzLocalClusterUpdateRingTag Invoke-AzLocalFleetOperation Get-AzLocalFleetProgress Test-AzLocalFleetHealthGate Export-AzLocalFleetState Resume-AzLocalFleetUpdate Stop-AzLocalFleetUpdate Test-AzLocalClusterHealth Get-AzLocalFleetStatusData New-AzLocalFleetStatusHtmlReport Test-AzLocalUpdateScheduleAllowed Reset-AzLocalSideloadedTag Get-AzLocalItsmConfig Test-AzLocalItsmConnection New-AzLocalIncident Copy-AzLocalPipelineExample Update-AzLocalPipelineExample Copy-AzLocalItsmSample Get-AzLocalFleetHealthFailures Test-AzLocalApplyUpdatesScheduleCoverage Get-AzLocalUpdateRunFailures Get-AzLocalApplyUpdatesScheduleConfig Resolve-AzLocalCurrentUpdateRing Get-AzLocalApplyUpdatesScheduleNextFirings New-AzLocalApplyUpdatesScheduleConfig Update-AzLocalApplyUpdatesScheduleConfig Get-AzLocalApplyUpdatesScheduleCycleCalendar Get-AzLocalFleetHealthOverview Get-AzLocalLatestSolutionVersion Get-AzLocalFleetConnectivityStatus New-AzLocalFleetConnectivityStatusSummary Add-AzLocalPipelineVersionBanner Export-AzLocalAuthValidationReport Invoke-AzLocalClusterInventory Set-AzLocalClusterUpdateRingTagFromCsv Export-AzLocalUpdateRunMonitorReport Export-AzLocalFleetUpdateStatusReport Export-AzLocalClusterUpdateReadinessReport Export-AzLocalFleetConnectivityStatusReport Export-AzLocalApplyUpdatesScheduleAudit Export-AzLocalFleetHealthStatusReport Resolve-AzLocalPipelineUpdateRing Export-AzLocalClusterReadinessGateReport Invoke-AzLocalReadinessGatedClusterUpdate Add-AzLocalApplyUpdatesStepSummary Add-AzLocalNoReadyClustersStepSummary Invoke-AzLocalItsmTicketingFromArtifact Update-AzLocalSideloadCatalog Resolve-AzLocalSideloadPlan Invoke-AzLocalSideloadUpdate Export-AzLocalSideloadStatusReport Add-AzLocalSideloadStepSummary
PSEditions
Dependencies
This module has no dependencies.
Release Notes
## Version 0.8.78 - Patch: pipeline-summary UX polish driven by operator feedback. Three improvements land together: (1) JUnit re-classification - `ScheduleBlocked` / `SideloadedBlocked` / `ExcludedByTag` are designed operator-configured gate-respect outcomes, not failures; they no longer flip Step.07 runs RED via `dorny/test-reporter` and now render as `<skipped>` (matches the summary `<testsuite skipped=N>` attr). `HealthCheckBlocked` stays a failure (a Critical health failure blocking an update IS actionable). (2) Apply Updates summary now surfaces the FULL ring picture - the new `Add-AzLocalApplyUpdatesStepSummary -UpToDateCount` / `-NotReadyCount` parameters add `Already Up to Date` and `Not Ready (needs attention before updating)` rows to the Readiness KPI table, so the operator always sees how many clusters are healthy steady state (already patched) vs held back by the readiness gate (state=NeedsAttention / UpdateInProgress / UpdateFailed, pending SBE prereqs, critical health failures). Both apply-updates YAMLs (GitHub Actions + Azure DevOps) wire the upstream `readiness.UpToDateCount` / `readiness.NotReadyCount` outputs through. (3) `actions/download-artifact@v6` -> `@v7` bump in `apply-updates.yml` (GHA) - silences the Node.js 20 deprecation warning that v6 was emitting on every Step.07 run; v7 runs natively on Node 24. No public API change or new exports (still 60). All bundled pipeline templates bump `GENERATED_AGAINST_MODULE_VERSION` from `'0.8.77'` to `'0.8.78'`.
- **FIX (`Export-ResultsToJUnitXml`)**: `ScheduleBlocked` / `SideloadedBlocked` / `ExcludedByTag` previously emitted `<failure type="ScheduleBlocked">` etc., which made `dorny/test-reporter` flip Step.07 runs RED with `##[error]Failed test were found` on otherwise successful schedule-aware / sideload-gated / tag-excluded runs. They now render as `<skipped>` and the summary `<testsuite failures=...>` / `<testsuite skipped=...>` attributes agree. `HealthCheckBlocked` deliberately remains in the failure bucket - a Critical health failure blocking an update is a real operational issue the team should action.
- **CHANGE (`Add-AzLocalApplyUpdatesStepSummary`)**: new optional `-UpToDateCount` / `-NotReadyCount` parameters (default `-1` = unknown, row omitted) expand the Readiness KPI table from 2 rows (Total / Ready) to 4 rows (Total / Ready / Already Up to Date / Not Ready). Up-to-Date is a healthy steady state (already fully patched); Not-Ready surfaces the count of clusters correctly held back by the readiness gate so the operator sees them in the apply-updates summary, not only in the no-ready-clusters summary. Backwards-compatible: existing callers that omit the new params see the same 2-row table they always did.
- **CHANGE (`apply-updates.yml` GitHub Actions + Azure DevOps)**: both templates now pipe the upstream check-readiness job/stage's `up_to_date_count` / `not_ready_count` outputs (already emitted since v0.8.74) through to the Generate Summary step. ADO additionally wires two new `variables:` (`upToDateCount` / `notReadyCount`) on the Apply Updates job pulling from `stageDependencies.CheckReadiness.ReadinessCheck.outputs['readiness.UpToDateCount' / '.NotReadyCount']`.
- **CHANGE (`apply-updates.yml` GitHub Actions)**: `actions/download-artifact@v6` -> `@v7` for the readiness-report download step. v6 still ran on Node.js 20 and was emitting `Node.js 20 actions are deprecated` warnings on every Step.07 run; v7 runs natively on Node 24 and silences the warning. v7 (not v8) is the safer choice because v8's breaking change defaults the `digest-mismatch` setting to `error`.
- **TESTS**: existing `Context 'JUnit XML export handles ScheduleBlocked'` and `'JUnit XML export handles SideloadedBlocked'` updated to assert `<skipped>` instead of `<failure>` plus matching summary attrs (`[int]$suite.failures | Should -Be 0`, `[int]$suite.skipped | Should -Be 1`). New `It 'Export-ResultsToJUnitXml renders ExcludedByTag as <skipped> (v0.8.78)'` regression. New `It 'Has v0.8.78 optional readiness-breakdown parameters UpToDateCount/NotReadyCount'` parameter-shape regression on `Add-AzLocalApplyUpdatesStepSummary`.
- **All bundled pipeline templates** bump `GENERATED_AGAINST_MODULE_VERSION` from `'0.8.77'` to `'0.8.78'`.
## Version 0.8.77 - Patch: fixes two production strict-mode crashes that surfaced in Step.05 / Step.06 / Step.07 of the bundled apply-updates pipelines. Both bugs share the same root cause: bare `$obj.Prop` property access under `Set-StrictMode -Version Latest` THROWS when `Prop` is absent on a PSCustomObject instead of returning `$null`. Fixes use `PSObject.Properties['Prop'] -and $obj.Prop` guards (and `IDictionary.Contains` for tag bags returned by `Invoke-AzRestJson`). No public API change or new exports (still 60). All bundled pipeline templates bump `GENERATED_AGAINST_MODULE_VERSION` from `'0.8.76'` to `'0.8.77'`.
- **FIX (`Start-AzLocalClusterUpdate` - Step.07 main entry)**: production emitted `Error processing cluster '<Name>': The property 'UpdateStartWindow' cannot be found on this object.` for clusters whose tag bag did not include `UpdateStartWindow` / `UpdateExclusionsWindow`. The old `if ($clusterTags -and $clusterTags.$($script:UpdateStartWindowTagName))` threw BEFORE `-and` short-circuited because bare `.$()` member access on a missing PSCustomObject property is strict-mode-fatal. New guard branches on `$clusterTags -is [System.Collections.IDictionary]` and uses `.Contains()` for hashtables / `PSObject.Properties[...]` for PSCustomObjects. The semantic intent ('absent = any time eligible / no window restriction') is preserved: the outer `if ($windowTagValue -or $exclusionTagValue)` correctly skips the schedule gate when both are `$null`.
- **FIX (`Test-AzLocalClusterHealth` - Step.05/06 readiness)**: production emitted `Checking: <Cluster>... Error: The property 'healthCheckResult' cannot be found on this object.` for clusters whose ARM update summary genuinely had no `healthCheckResult` field (typical for clusters not yet probed). The catch block then flagged the cluster `HealthState=Error / Passed=$false`, and the readiness gate falsely treated it as blocked - poisoning Step.5 / Step.7 / Step.9 readiness output for affected clusters. The same bare-access bug was present in `Get-HealthCheckFailureSummary` (Private) and `Get-AzLocalFleetStatusData` (Public, `-IncludeHealthDetails` path). All three sites now use the `PSObject.Properties[...]` guard idiom; `Test-AzLocalClusterHealth` correctly classifies such clusters as `HealthState="No Data" / Passed=$true` and continues.
- **TESTS**: two new Pester regression contexts (`v0.8.77 strict-mode regression: missing UpdateStartWindow tag` on `Start-AzLocalClusterUpdate`; `v0.8.77 strict-mode regression: missing properties.healthCheckResult` on `Test-AzLocalClusterHealth`) that feed the minimal real-world property-less shapes and assert `Should -Not -Throw` plus correct downstream classification. Both bugs were INVISIBLE to `Get-CmdletErrors` / parse-time analysis - only runtime with the property-less shape triggers the throw.
- **All bundled pipeline templates** bump `GENERATED_AGAINST_MODULE_VERSION` from `'0.8.76'` to `'0.8.77'`.
## Version 0.8.76 - Patch: adds a Microsoft-hosted Windows preflight job (GitHub Actions) / preflight stage (Azure DevOps) in front of the opt-in Step.6 `sideload-updates.yml` pipeline so triggering it without first completing the opt-in setup produces an actionable panel rather than a silent `Status: Skipped`. Also broadens the master gate to accept `'true'` / `'True'` / `'TRUE'` / `'1'`. See CHANGELOG for the full v0.8.76 entry.
## Version 0.8.75 - Patch: removes the duplicate Cycle calendar from the Step.3 apply-updates schedule audit step summary on Recommend-view runs. New additive `-OmitCycleCalendar` switch; drift-notice banner now recommends `Update-AzLocalPipelineExample`. No public API or export-count change (still 60). See CHANGELOG.md for the full v0.8.75 entry.
## Version 0.8.74 - Consistent "Up to Date" classification across Step.5 / Step.7 / Step.9 readiness reports; deep-tree fix for the `Progress` column in the Step.7 monitor and standalone HTML "Recent Update Run History" report; new shared `Get-AzLocalClusterReadinessStatus` private helper as single source of truth for the readiness cascade. Step.7 / Step.5 add a readable `Status` column and Step.7 adds a `UP_TO_DATE_COUNT` step output. No public API or export-count change (still 60). See CHANGELOG.md / docs/release-history.md for the full per-bullet detail.
## Version 0.8.73 - Cycle calendar: cluster counts folded INLINE into the "Eligible rings" column (Step.3 apply-updates schedule audit). No public API or export-count change (still 60). See CHANGELOG for the full v0.8.73 entry.
## Version 0.8.72 - Patch: pipeline-template polish only. Schedule-file author guidance moved OUTSIDE the apply-updates.yml customise marker so it refreshes on existing consumers; single-digit Step.N display names zero-padded (Step.0 -> Step.00 ... Step.9 -> Step.09) so the GitHub Actions sidebar / Azure DevOps list sort in execution order. No public API or export-count change (still 60). See CHANGELOG for the full v0.8.72 entry.
## Version 0.8.71 - Patch: production strict-mode crash fix in `Export-ResultsToJUnitXml` (`UpdateStarted` success row lacked `CurrentState`/`Progress`); GitHub Actions `sideload-updates.yml` schedule-path default corrected `./.github/` -> `./config/`; stale `Step.N_*.yml` filename references in pipeline doc strings de-numbered. No public API or export-count change (still 60). See CHANGELOG for the full v0.8.71 entry.
For full v0.7.x and v0.8.x release notes see:
https://github.com/NeilBird/Azure-Local/blob/main/AzLocal.UpdateManagement/CHANGELOG.md
FileList
- AzLocal.UpdateManagement.nuspec
- Private\Install-AzGraphExtension.ps1
- Private\Resolve-AzLocalSideloadCredential.ps1
- Private\Test-ExportPathWritable.ps1
- Public\Export-AzLocalFleetHealthStatusReport.ps1
- Public\Get-AzLocalFleetStatusData.ps1
- Public\Resolve-AzLocalCurrentUpdateRing.ps1
- Automation-Pipeline-Examples\azure-devops\fleet-connectivity-status.yml
- Automation-Pipeline-Examples\github-actions\fleet-update-status.yml
- docs\images\fleet-update-status.png
- Private\ConvertFrom-AzLocalUpdateWindow.ps1
- Private\Get-AzLocalPipelineId.ps1
- Private\Invoke-AzCliJson.ps1
- Private\Resolve-AzLocalSideloadTargetPath.ps1
- Private\Write-AzLocalPipelineNotice.ps1
- Public\Export-AzLocalFleetState.ps1
- Public\Get-AzLocalItsmConfig.ps1
- Public\Resolve-AzLocalPipelineUpdateRing.ps1
- AzLocal.UpdateManagement.psd1
- Automation-Pipeline-Examples\azure-devops\fleet-health-status.yml
- Automation-Pipeline-Examples\github-actions\inventory-clusters.yml
- docs\images\github-actions-10-pipelines-view.png
- Private\ConvertTo-AzLocalAdditionalProperties.ps1
- Private\Get-AzLocalPipelineManifest.ps1
- Private\Invoke-AzLocalItsmHttp.ps1
- Private\Resolve-AzLocalUpdateRunDeepestError.ps1
- Private\Write-AzLocalPipelineWarning.ps1
- Public\Export-AzLocalFleetUpdateStatusReport.ps1
- Public\Get-AzLocalLatestSolutionVersion.ps1
- Public\Resolve-AzLocalSideloadPlan.ps1
- AzLocal.UpdateManagement.psm1
- Automation-Pipeline-Examples\azure-devops\fleet-update-status.yml
- Automation-Pipeline-Examples\github-actions\manage-updatering-tags.yml
- docs\images\inventory-clusters-run-output.png
- Private\ConvertTo-AzLocalUpdateRingKqlFilter.ps1
- Private\Get-AzLocalRunEndTime.ps1
- Private\Invoke-AzLocalRemoteSolutionImport.ps1
- Private\Resolve-SafeOutputPath.ps1
- Private\Write-Log.ps1
- Public\Export-AzLocalSideloadStatusReport.ps1
- Public\Get-AzLocalUpdateRunFailures.ps1
- Public\Resume-AzLocalFleetUpdate.ps1
- example-update-request.json
- Automation-Pipeline-Examples\azure-devops\inventory-clusters.yml
- Automation-Pipeline-Examples\github-actions\monitor-updates.yml
- docs\images\monitor-inflight-updates.png
- Private\ConvertTo-SafeCsvCollection.ps1
- Private\Get-AzLocalSideloadAuthMap.ps1
- Private\Invoke-AzLocalServiceNowAdapter.ps1
- Private\Resolve-WildcardDate.ps1
- Private\Write-UpdateCsvLog.ps1
- Public\Export-AzLocalUpdateRunMonitorReport.ps1
- Public\Get-AzLocalUpdateRuns.ps1
- Public\Set-AzLocalClusterUpdateRingTag.ps1
- README.md
- Automation-Pipeline-Examples\azure-devops\manage-updatering-tags.yml
- Automation-Pipeline-Examples\github-actions\sideload-updates.yml
- docs\images\README.md
- Private\ConvertTo-SafeCsvField.ps1
- Private\Get-AzLocalSideloadCatalog.ps1
- Private\Invoke-AzLocalSideloadedAutoReset.ps1
- Private\Resolve-WildcardDateRange.ps1
- Private\Write-Utf8NoBomFile.ps1
- Public\Get-AzLocalApplyUpdatesScheduleConfig.ps1
- Public\Get-AzLocalUpdateSummary.ps1
- Public\Set-AzLocalClusterUpdateRingTagFromCsv.ps1
- Test-Pipelines.ps1
- Automation-Pipeline-Examples\azure-devops\monitor-updates.yml
- docs\cmdlet-reference.md
- ITSM\ITSM-Config-Reference.md
- Private\ConvertTo-ScrubbedCliOutput.ps1
- Private\Get-AzLocalSideloadState.ps1
- Private\Invoke-AzLocalSideloadedAutoResetForCluster.ps1
- Private\Select-AzLocalNextUpdateForCluster.ps1
- Public\Add-AzLocalApplyUpdatesStepSummary.ps1
- Public\Get-AzLocalApplyUpdatesScheduleCycleCalendar.ps1
- Public\Invoke-AzLocalClusterInventory.ps1
- Public\Start-AzLocalClusterUpdate.ps1
- Automation-Pipeline-Examples\apply-updates-schedule.example.yml
- Automation-Pipeline-Examples\azure-devops\sideload-updates.yml
- docs\concepts.md
- ITSM\ITSM-Connector-Plan.md
- Private\Export-ResultsToJUnitXml.ps1
- Private\Get-AzLocalSolutionUpdateDownload.ps1
- Private\Invoke-AzLocalUpdateApply.ps1
- Private\Set-AzLocalClusterTagsMerge.ps1
- Public\Add-AzLocalNoReadyClustersStepSummary.ps1
- Public\Get-AzLocalApplyUpdatesScheduleNextFirings.ps1
- Public\Invoke-AzLocalFleetOperation.ps1
- Public\Stop-AzLocalFleetUpdate.ps1
- Automation-Pipeline-Examples\azlocal-update-management-custom-role.json
- Automation-Pipeline-Examples\docs\appendix-pipelines.md
- docs\rbac.md
- ITSM\README.md
- Private\Format-AzLocalDurationHuman.ps1
- Private\Get-AzLocalUpdateRunStepStats.ps1
- Private\Invoke-AzResourceGraphQuery.ps1
- Private\Set-AzLocalPipelineOutput.ps1
- Public\Add-AzLocalPipelineVersionBanner.ps1
- Public\Get-AzLocalAvailableUpdates.ps1
- Public\Invoke-AzLocalItsmTicketingFromArtifact.ps1
- Public\Test-AzLocalApplyUpdatesScheduleCoverage.ps1
- Automation-Pipeline-Examples\README.md
- Automation-Pipeline-Examples\docs\appendix-release-history.md
- docs\release-history.md
- Private\Add-AzLocalPipelineStepSummary.ps1
- Private\Format-AzLocalIncidentBody.ps1
- Private\Get-CurrentStepPath.ps1
- Private\Invoke-AzRestJson.ps1
- Private\Test-AzCliAvailable.ps1
- Public\Connect-AzLocalServicePrincipal.ps1
- Public\Get-AzLocalClusterInfo.ps1
- Public\Invoke-AzLocalReadinessGatedClusterUpdate.ps1
- Public\Test-AzLocalClusterHealth.ps1
- Automation-Pipeline-Examples\sideload-auth-map.example.csv
- Automation-Pipeline-Examples\docs\sideload-robocopy.md
- docs\troubleshooting.md
- Private\Convert-AzLocalScheduleSchemaVersion.ps1
- Private\Format-AzLocalUpdateRun.ps1
- Private\Get-DeepestActiveStep.ps1
- Private\Invoke-FleetJobsInParallel.ps1
- Private\Test-AzLocalAllowedUpdateVersionsString.ps1
- Public\Copy-AzLocalItsmSample.ps1
- Public\Get-AzLocalClusterInventory.ps1
- Public\Invoke-AzLocalSideloadUpdate.ps1
- Public\Test-AzLocalFleetHealthGate.ps1
- Automation-Pipeline-Examples\sideload-catalog.example.yml
- Automation-Pipeline-Examples\docs\sideload.md
- docs\images\apply-updates-schedule-audit-part1.png
- Private\Convert-AzLocalSideloadCatalogSchemaVersion.ps1
- Private\Get-AzLocalClusterReadinessStatus.ps1
- Private\Get-DeepestErrorMessage.ps1
- Private\Invoke-FleetOpClusterAction.ps1
- Private\Test-AzLocalRemoteFileHash.ps1
- Public\Copy-AzLocalPipelineExample.ps1
- Public\Get-AzLocalClusterUpdateReadiness.ps1
- Public\New-AzLocalApplyUpdatesScheduleConfig.ps1
- Public\Test-AzLocalItsmConnection.ps1
- Automation-Pipeline-Examples\.itsm\azurelocal-itsm.yml
- Automation-Pipeline-Examples\github-actions\apply-updates-schedule-audit.yml
- docs\images\apply-updates-schedule-audit-part2.png
- Private\Convert-AzLocalUpdateWindowToCron.ps1
- Private\Get-AzLocalClusterUpdateRuns.ps1
- Private\Get-ExportFormat.ps1
- Private\New-AzLocalPipelineJUnitXml.ps1
- Private\Test-AzLocalUpdateExcludedAllowed.ps1
- Public\Export-AzLocalApplyUpdatesScheduleAudit.ps1
- Public\Get-AzLocalFleetConnectivityStatus.ps1
- Public\New-AzLocalFleetConnectivityStatusSummary.ps1
- Public\Test-AzLocalUpdateScheduleAllowed.ps1
- Automation-Pipeline-Examples\.itsm\templates\incident-body.md
- Automation-Pipeline-Examples\github-actions\apply-updates.yml
- docs\images\apply-updates-schedule-audit-part3.png
- Private\ConvertFrom-AzLocalCronExpression.ps1
- Private\Get-AzLocalItsmDedupeKey.ps1
- Private\Get-HealthCheckFailureSummary.ps1
- Private\New-AzLocalPSRemotingSession.ps1
- Private\Test-AzLocalUpdateExclusion.ps1
- Public\Export-AzLocalAuthValidationReport.ps1
- Public\Get-AzLocalFleetHealthFailures.ps1
- Public\New-AzLocalFleetStatusHtmlReport.ps1
- Public\Update-AzLocalApplyUpdatesScheduleConfig.ps1
- Automation-Pipeline-Examples\azure-devops\apply-updates-schedule-audit.yml
- Automation-Pipeline-Examples\github-actions\assess-update-readiness.yml
- docs\images\apply-updates-summary.png
- Private\ConvertFrom-AzLocalScheduleYaml.ps1
- Private\Get-AzLocalItsmTriggerDecision.ps1
- Private\Get-LastUpdateRunErrorSummary.ps1
- Private\Read-AzLocalApplyUpdatesYamlCrons.ps1
- Private\Test-AzLocalUpdateSideloadedAllowed.ps1
- Public\Export-AzLocalClusterReadinessGateReport.ps1
- Public\Get-AzLocalFleetHealthOverview.ps1
- Public\New-AzLocalIncident.ps1
- Public\Update-AzLocalPipelineExample.ps1
- Automation-Pipeline-Examples\azure-devops\apply-updates.yml
- Automation-Pipeline-Examples\github-actions\authentication-test.yml
- docs\images\auth-smoke-test-validate-oidc.png
- Private\ConvertFrom-AzLocalUpdateExcluded.ps1
- Private\Get-AzLocalModuleRootManifestPath.ps1
- Private\Get-LatestUpdateByYYMM.ps1
- Private\Register-AzLocalSideloadCopyTask.ps1
- Private\Test-AzLocalUpdateVersionInProgressMatch.ps1
- Public\Export-AzLocalClusterUpdateReadinessReport.ps1
- Public\Get-AzLocalFleetProgress.ps1
- Public\Reset-AzLocalSideloadedTag.ps1
- Public\Update-AzLocalSideloadCatalog.ps1
- Automation-Pipeline-Examples\azure-devops\assess-update-readiness.yml
- Automation-Pipeline-Examples\github-actions\fleet-connectivity-status.yml
- docs\images\fleet-health-status-part-2.png
- Private\ConvertFrom-AzLocalUpdateExclusion.ps1
- Private\Get-AzLocalPipelineCustomiseMarkers.ps1
- Private\Get-TagValue.ps1
- Private\Resolve-AzLocalItsmSecret.ps1
- Private\Test-AzLocalUpdateWindow.ps1
- Public\Export-AzLocalFleetConnectivityStatusReport.ps1
- Automation-Pipeline-Examples\azure-devops\authentication-test.yml
- Automation-Pipeline-Examples\github-actions\fleet-health-status.yml
- docs\images\fleet-health-status-part1.png
- Private\ConvertFrom-AzLocalUpdateSideloaded.ps1
- Private\Get-AzLocalPipelineHost.ps1
- Private\Import-AzLocalFleetState.ps1
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 0.9.26 | 64 | 7/27/2026 |
| 0.9.25 | 12 | 7/27/2026 |
| 0.9.24 | 192 | 7/24/2026 |
| 0.9.23 | 90 | 7/23/2026 |
| 0.9.22 | 82 | 7/22/2026 |
| 0.9.21 | 404 | 7/15/2026 |
| 0.9.20 | 323 | 7/8/2026 |
| 0.9.19 | 13 | 7/8/2026 |
| 0.9.18 | 69 | 7/7/2026 |
| 0.9.17 | 17 | 7/7/2026 |
| 0.9.16 | 51 | 7/6/2026 |
| 0.9.15 | 170 | 7/2/2026 |
| 0.9.14 | 19 | 7/2/2026 |
| 0.9.13 | 18 | 7/2/2026 |
| 0.9.12 | 59 | 7/1/2026 |
| 0.9.11 | 89 | 6/29/2026 |
| 0.9.10 | 108 | 6/26/2026 |
| 0.9.1 | 13 | 6/26/2026 |
| 0.9.0 | 52 | 6/25/2026 |
| 0.8.99 | 6 | 6/25/2026 |
| 0.8.98 | 5 | 6/25/2026 |
| 0.8.97 | 36 | 6/24/2026 |
| 0.8.96 | 34 | 6/23/2026 |
| 0.8.95 | 10 | 6/23/2026 |
| 0.8.94 | 107 | 6/19/2026 |
| 0.8.93 | 25 | 6/18/2026 |
| 0.8.92 | 10 | 6/18/2026 |
| 0.8.91 | 13 | 6/18/2026 |
| 0.8.90 | 5 | 6/18/2026 |
| 0.8.89 | 7 | 6/18/2026 |
| 0.8.88 | 41 | 6/17/2026 |
| 0.8.87 | 37 | 6/16/2026 |
| 0.8.86 | 17 | 6/16/2026 |
| 0.8.85 | 6 | 6/16/2026 |
| 0.8.84 | 34 | 6/15/2026 |