Skip to content

Commit db2141a

Browse files
Merge pull request #18676 from MicrosoftDocs/main
Auto Publish – main to live - 2025-08-13 22:00 UTC
2 parents 2e92b4b + 9542bc5 commit db2141a

File tree

5 files changed

+224
-46
lines changed

5 files changed

+224
-46
lines changed

azure-local/TOC.yml

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -270,18 +270,8 @@ items:
270270
items:
271271
- name: About Azure Local upgrades
272272
href: upgrade/about-upgrades-23h2.md
273-
- name: 1. Select upgrade path
274-
items:
275-
- name: Upgrade to 26100.xxxx
276-
href: upgrade/upgrade-to-24h2-powershell.md
277-
- name: Upgrade to 25398.xxxx
278-
items:
279-
- name: Via PowerShell (recommended)
280-
href: upgrade/upgrade-22h2-to-23h2-powershell.md
281-
- name: Via Windows Admin Center
282-
href: upgrade/upgrade-22h2-to-23h2-windows-admin-center.md
283-
- name: Via other methods
284-
href: upgrade/upgrade-22h2-to-23h2-other-methods.md
273+
- name: 1. Upgrade OS via PowerShell
274+
href: upgrade/upgrade-22h2-to-23h2-powershell.md
285275
- name: 2. Perform post-OS upgrade tasks
286276
href: upgrade/post-upgrade-steps.md
287277
- name: 3. Configure Network ATC

azure-local/includes/end-of-service-22h2.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,18 @@ author: alkohli
33
ms.author: alkohli
44
ms.service: azure-local
55
ms.topic: include
6-
ms.date: 05/29/2025
6+
ms.date: 07/29/2025
77
ms.reviewer: alkohli
88
---
99

10-
>[!IMPORTANT]
11-
> Azure Stack HCI, version 22H2 will reach end of support on May 31, 2025. After this date:
12-
> - Monthly security and quality updates stop.
13-
> - Billing continues for version 22H2 systems.
14-
> - Your system keeps working, including registration and repair.
15-
> - Microsoft Support remains available only for upgrade assistance.
16-
>
17-
> To stay supported and continue receiving updates, we recommend upgrading your operating system to [version 23H2](../upgrade/upgrade-22h2-to-23h2-powershell.md).
18-
>If you're running an Azure Stack HCI, version 22H2 stretch cluster or managing Azure Local via System Center - Virtual Machine Manager, review the [Supported workloads and configurations](../upgrade/about-upgrades-23h2.md#supported-workloads-and-configurations) table for update timelines.
10+
11+
Azure Stack HCI OS version 22H2 is already out of support.
12+
13+
- Monthly security and quality updates have stopped.
14+
- Your system continues to work, including registration and repair.
15+
- Billing has continued.
16+
- Microsoft Support is available only for upgrade assistance.
17+
18+
To continue receiving updates, we recommend upgrading your operating system based on guidance provided in this article.
19+
20+
If you're running an Azure Stack HCI, version 22H2 stretch cluster or managing the cluster via System Center Virtual Machine Manager, review the [Supported workloads and configurations](../upgrade/about-upgrades-23h2.md#supported-workloads-and-configurations) table for update timelines.

azure-local/upgrade/upgrade-22h2-to-23h2-powershell.md

Lines changed: 201 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,49 +3,92 @@ title: Upgrade Azure Stack HCI OS, version 22H2 to version 23H2 via PowerShell
33
description: Learn how to use PowerShell to upgrade Azure Stack HCI OS, version 22H2 to version 23H2.
44
author: alkohli
55
ms.topic: how-to
6-
ms.date: 06/06/2025
6+
ms.date: 07/31/2025
77
ms.author: alkohli
88
ms.reviewer: alkohli
99
ms.service: azure-local
10+
zone_pivot_groups: upgrade-os
1011
---
1112

12-
# Upgrade Azure Stack HCI OS, version 22H2 to version 23H2 via PowerShell
13+
# Upgrade Azure Stack HCI OS via PowerShell
1314

14-
[!INCLUDE [applies-to](../includes/hci-applies-to-23h2-22h2.md)]
15+
::: zone pivot="os-23h2"
1516

16-
[!INCLUDE [end-of-service-22H2](../includes/end-of-service-22h2.md)]
17+
This article describes how to upgrade the Azure Stack HCI operating system (OS) from version 20349.xxxx (22H2) to version 25398.xxxx (23H2), via PowerShell. This is the first step in the upgrade process, which upgrades only the OS.
18+
19+
Upgrade via PowerShell is the recommended method. There are other methods to upgrade the OS to version 25398.xxxx (23H2) that include using Windows Admin Center and the Server Configuration tool (SConfig). For more information about these methods, see [Upgrade the Azure Stack HCI OS, version 22H2 OS via Windows Admin Center](./upgrade-22h2-to-23h2-windows-admin-center.md) and [Upgrade Azure Local to new OS using other methods](./upgrade-22h2-to-23h2-other-methods.md).
20+
21+
<!-- [!IMPORTANT]
22+
To keep your Azure Local service in a supported state, you have up to six months to install this new OS version. The update is applicable to all Azure Local instances running version 22H2. We strongly recommend that you install this version as soon as it becomes available.-->
23+
24+
::: zone-end
25+
26+
::: zone pivot="os-24h2"
27+
28+
This article describes how to upgrade the Azure Stack HCI operating system (OS) to version 26100.xxxx (24H2), via PowerShell. There are two upgrade paths available:
29+
30+
- Upgrade from version 20349.xxxx (22H2) to version 26100.xxxx (24H2).
31+
- Upgrade from version 25398.xxxx (23H2) to version 26100.xxxx (24H2). This includes the 25398.xxxx (23H2) clusters that were upgraded from version 20349.xxxx (22H2) and the solution upgrade is not yet applied.
1732

18-
This article describes how to upgrade the operating system (OS) for Azure Local from version 22H2 to version 23H2 via PowerShell, which is the recommended method to upgrade the OS. This is the first step in the upgrade process, which upgrades only the OS.
33+
With the 2505 release, a direct upgrade path from version 20349.xxxx (22H2) to version 26100.xxxx (24H2) is available. Skipping the upgrade to the version 26100.xxxx is one less upgrade hop and helps reduce reboots and maintenance planning prior to the solution upgrade.
1934

20-
There are other methods to upgrade the OS that include using Windows Admin Center and the Server Configuration tool (SConfig). For more information about these methods, see [Upgrade the Azure Stack HCI OS, version 22H2 OS via Windows Admin Center](./upgrade-22h2-to-23h2-windows-admin-center.md) and [Upgrade Azure Local to new OS using other methods](./upgrade-22h2-to-23h2-other-methods.md).
35+
- Make sure to consult with your hardware vendor to determine if version 26100.xxxx OS is supported before performing the upgrade.
36+
- After the OS upgrade, you can wait for the solution upgrade to become available.
37+
- There is an exception to the preceding recommendation if you are using stretch clusters. Stretch clusters should wait to directly move to version 26100.xxxx (24H2). <!--2508 - This version contains critical bug fixes.-->
2138

22-
Throughout this article, we refer to OS version 23H2 as the *new* version and version 22H2 as the *old* version.
39+
For more information about the various upgrade paths, see the blog post on [Upgrade Azure Local to new OS version](https://techcommunity.microsoft.com/blog/azurearcblog/upgrade-azure-local-operating-system-to-new-version/4423827).
2340

2441
> [!IMPORTANT]
25-
> To keep your Azure Local service in a supported state, you have up to six months to install this new OS version. The update is applicable to all Azure Local instances running version 22H2. We strongly recommend that you install this version as soon as it becomes available.
42+
> - This article covers OS upgrades only. Do not proceed if the solution upgrade is complete or Azure Local 2311.2 or later is deployed. To check if your system is already running the solution, run the `Get-StampInformation` cmdlet. If it returns output, your system is already running the solution, and you should skip these steps.
43+
> - The solution upgrade isn't yet supported on OS version 26100.xxxx.
44+
45+
::: zone-end
46+
47+
## About End of Support (EOS) for version 22H2
48+
49+
[!INCLUDE [end-of-service-22H2](../includes/end-of-service-22h2.md)]
2650

2751
## High-level workflow for the OS upgrade
2852

53+
::: zone pivot="os-23h2"
54+
2955
The Azure Stack HCI operating system update is available via the Windows Update and via the media that you can download from the Azure portal.
3056

3157
To upgrade the OS on your system, follow these high-level steps:
3258

3359
1. [Complete the prerequisites.](#complete-prerequisites)
34-
1. [Update registry keys.](#step-0-update-registry-keys)
35-
1. [Connect to Azure Local, version 22H2.](#step-1-connect-to-azure-local)
36-
1. [Check for the available updates using PowerShell.](#step-1-connect-to-azure-local)
37-
1. [Install new OS using PowerShell.](#step-2-install-new-os-using-powershell)
38-
1. [Check the status of the updates.](#step-3-check-the-status-of-an-update)
60+
1. [Update registry keys.](#update-registry-keys)
61+
1. [Connect to Azure Local, version 22H2.](#connect-to-azure-local)Check for the available updates using PowerShell.
62+
1. [Install new OS using PowerShell.](#install-new-os-using-powershell)
63+
1. [Check the status of the updates.](#check-the-status-of-an-update)
64+
1. [After the OS is upgraded, perform post-OS upgrade steps.](#next-steps)
65+
66+
::: zone-end
67+
68+
::: zone pivot="os-24h2"
69+
70+
The Azure Stack HCI OS update is available only via the Azure portal.
71+
72+
To upgrade the OS on your system, follow these high-level steps:
73+
74+
1. [Complete the prerequisites.](#complete-prerequisites)
75+
1. [Update registry keys.](#update-registry-keys)
76+
1. [Install new OS using PowerShell.](#install-new-os-using-powershell)
77+
1. [Check the status of the updates.](#check-the-status-of-an-update)
3978
1. [After the OS is upgraded, perform post-OS upgrade steps.](#next-steps)
4079

80+
::: zone-end
81+
82+
4183
## Complete prerequisites
4284

85+
::: zone pivot="os-23h2"
86+
4387
Before you begin, make sure that:
4488

45-
- You have access to an Azure Local running version 22H2.
46-
- The system is registered in Azure.
47-
- All the machines in your Azure Local, version 22H2 instance are healthy and show as **Online**.
48-
- You shut down virtual machines (VMs). We recommend shutting down VMs before performing the OS upgrade to prevent unexpected outages and damages to databases.
89+
- You have access to an Azure Local instance running version 22H2, and it's registered in Azure.
90+
- All the machines in your Azure Local, version 22H2 instance are healthy and show as **Online**.
91+
- You have shut down virtual machines (VMs). We recommend that you shut down VMs before performing the OS upgrade to prevent unexpected outages and damages to databases.
4992
- You have access to the Azure Stack HCI, version 23H2 OS software update for Azure Local. This update is available via Windows Update or as a downloadable media. The media must be version **2503** ISO file that you can download from the [Azure portal](https://portal.azure.com/#view/Microsoft_Azure_HybridCompute/AzureArcCenterBlade/~/hciGetStarted).
5093
- You have access to a client that can connect to your Azure Local instance. This client should be running PowerShell 5.0 or later.
5194
- You run the `RepairRegistration` cmdlet only if both of the following conditions apply:
@@ -73,10 +116,66 @@ Before you begin, make sure that:
73116
Consult with your hardware vendor for assistance if required.
74117

75118
> [!NOTE]
76-
> The **2503** ISO file is only required if the machines do not have access to Windows Update to download the OS feature update. If using this method, after you [Connect to Azure Local, version 22H2](#step-1-connect-to-azure-local), skip to step 6 under [Step 2: Install new OS using PowerShell](#step-2-install-new-os-using-powershell) and perform the remaining steps.
119+
> The **2503** ISO file is only required if the machines do not have access to Windows Update to download the OS feature update. If using this method, after you [Connect to Azure Local, version 22H2](#connect-to-azure-local), skip to step 6 under [Install new OS using PowerShell](#install-new-os-using-powershell) and perform the remaining steps.
77120
> Use of 3rd party tools to install upgrades is not supported.
78121
79-
## Step 0: Update registry keys
122+
::: zone-end
123+
124+
::: zone pivot="os-24h2"
125+
126+
- Make sure your Azure Local system is running either OS version 20349.3692 or OS version greater than 25398.1611.
127+
- Make sure the system is registered in Azure and all the machines in the system are healthy and online.
128+
- Make sure to shut down virtual machines (VMs). We recommend shutting down VMs before performing the OS upgrade to prevent unexpected outages and damages to databases.
129+
- Confirm that you have access to the Azure Local **2505** ISO file, which you can download from the [Azure portal](https://portal.azure.com/#view/Microsoft_Azure_ArcCenterUX/ArcCenterMenuBlade/~/hciGetStarted).
130+
- Consult your hardware OEM to verify driver compatibility. Confirm that all drivers compatible with Windows Server 2025 or Azure Stack HCI OS, 26100.xxxx are installed before the upgrade.
131+
- Make sure the Network Interface Card (NIC) driver currently installed on your system is newer than the version included by default (inbox) with Azure Stack HCI OS, version 26100.xxxx. The following table compares the current and recommended versions of NIC drivers for two manufacturers:
132+
133+
| NIC manufacturer | Inbox driver version | Recommended latest compatible driver |
134+
|--|--|--|
135+
| Intel | 1.15.121.0 | 1.17.73.0 |
136+
| NVIDIA | 24.4.26429.0 | 25.4.50020 |
137+
138+
- Ensure the instance is properly registered. If the *identity* property is missing or doesn’t contain `type = "SystemAssigned"`, run the following command to repair the registration:
139+
140+
```powershell
141+
Register-AzStackHCI -TenantId "<tenant_ID>" -SubscriptionId "<subscription_ID>" -ComputerName "<computer_name>" -RepairRegistration
142+
```
143+
You can verify the *identity* property in the Azure portal in resource's JSON or by running the following cmdlet:
144+
145+
```powershell
146+
Get-AzResource -Name <cluster_name> -ResourceGroupName <name of the resource group> -ResourceType "Microsoft.AzureStackHCI/clusters" -ExpandProperties
147+
```
148+
- (Recommended) Enable [Secure Boot](/windows-hardware/design/device-experiences/oem-secure-boot) on Azure Local machines before you upgrade the OS. To enable Secure Boot, follow these steps:
149+
1. Drain the cluster node.
150+
1. Restart the OS.
151+
1. Enter the BIOS/UEFI menu.
152+
1. Review the **Boot** or **Security** section of the UEFI configuration options Locate the Secure Boot option.
153+
1. Set the option to **Enabled** or **On**.
154+
1. Save the changes and restart your computer.
155+
156+
Consult with your hardware vendor for assistance if required.
157+
158+
- Clean the Cloud Management cluster group:
159+
160+
```PowerShell
161+
# Check to make sure the Cloud Management group is present and its online.
162+
Get-ClusterGroup -Name "Cloud Management"
163+
164+
# Stop the Cloud Management group
165+
Stop-ClusterGroup -Name "Cloud Management"
166+
167+
# Remove all resources in the Cloud Management group
168+
Get-ClusterGroup -Name "Cloud Management" | Get-ClusterResource | Remove-ClusterResource -Force
169+
170+
# Start the Cloud Management group
171+
Start-ClusterGroup -Name "Cloud Management"
172+
173+
174+
::: zone-end
175+
176+
## Update registry keys
177+
178+
::: zone pivot="os-23h2"
80179
81180
To ensure Resilient File System (ReFS) and live migrations function properly during and after OS upgrade, follow these steps on each machine in the system to update registry keys. Reboot each machine for the changes to take effect.
82181
@@ -102,7 +201,26 @@ To ensure Resilient File System (ReFS) and live migrations function properly dur
102201

103202
1. Update and verify that the registry keys have been applied on each machine in the system before moving to the next step.
104203

105-
## Step 1: Connect to Azure Local
204+
::: zone-end
205+
206+
::: zone pivot="os-24h2"
207+
208+
To ensure Resilient File System (ReFS) functions properly during and after OS upgrade, follow these steps on each machine in the system to update registry keys. Reboot each machine for the changes to take effect.
209+
210+
1. Set `RefsEnableMetadataValidation` to `0`:
211+
212+
```powershell
213+
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "RefsEnableMetadataValidation" -Value 0 -Type DWord -ErrorAction Stop
214+
```
215+
216+
1. Restart the machine to apply changes. If ReFS volumes fail to come online after reboot and the `RefsEnableMetadataValidation` key is reset, toggle the key. Set `RefsEnableMetadataValidation` to **1** and then back to **0**. To check volume status, run the `Get-ClusterSharedVolumeState` command.
217+
218+
1. Update and verify that the registry keys have been applied on each machine in the system before moving to the next step.
219+
220+
::: zone-end
221+
222+
## Connect to Azure Local
223+
106224

107225
Follow these steps on your client to connect to one of the machines of your Azure Local instance.
108226

@@ -126,12 +244,14 @@ Follow these steps on your client to connect to one of the machines of your Azur
126244
[100.100.100.10]: PS C:\Users\Administrator\Documents>
127245
```
128246

129-
## Step 2: Install new OS using PowerShell
247+
## Install new OS using PowerShell
248+
249+
::: zone pivot="os-23h2"
130250

131251
To install the new OS using PowerShell, follow these steps:
132252

133253
> [!NOTE]
134-
> The following steps require the Cluster-Aware Updating (CAU) role to be installed and enabled on the system. For information on how to install and enable this feature on your Azure Local, see [Cluster-Aware Updating overview](/windows-server/failover-clustering/cluster-aware-updating#installing-cluster-aware-updating).
254+
> The following steps require the Cluster-Aware Updating (CAU) role to be installed and enabled on the system. For information on how to install and enable this feature on your Azure Local, see [Cluster-Aware Updating overview](/windows-server/failover-clustering/cluster-aware-updating#installing-cluster-aware-updating).
135255
136256
1. Run the following cmdlets on every machine in the system.
137257

@@ -179,7 +299,65 @@ To install the new OS using PowerShell, follow these steps:
179299

180300
Wait for the update to complete and check the status of the update.
181301

182-
## Step 3: Check the status of an update
302+
::: zone-end
303+
304+
::: zone pivot="os-24h2"
305+
306+
To install the new OS using PowerShell, follow these steps:
307+
308+
> [!NOTE]
309+
> The following steps require the Cluster-Aware Updating (CAU) role to be installed and enabled on the system. For information on how to install and enable this feature on your Azure Local, see [Cluster-Aware Updating overview](/windows-server/failover-clustering/cluster-aware-updating#installing-cluster-aware-updating).
310+
311+
1. Run the following cmdlets on every machine in the system.
312+
313+
```PowerShell
314+
Set-WSManQuickConfig
315+
Enable-PSRemoting
316+
```
317+
318+
1. To test whether the system is properly set up to apply software updates using Cluster-Aware Updating (CAU), run the `Test-CauSetup` cmdlet, which notifies you of any warnings or errors:
319+
320+
```PowerShell
321+
Test-CauSetup -ClusterName <System name>
322+
```
323+
324+
1. Validate the hardware and settings by running the `Test-Cluster` cmdlet on one of the machines in the system. If any of the condition checks fail, resolve them before proceeding to the next step. <!--ASK-->
325+
326+
```PowerShell
327+
Test-Cluster
328+
```
329+
330+
1. Extract the contents of the ISO image and copy them to the local system drive on each machine. Ensure that the local path is the same on each machine. Then, update the `PathToSetupMedia` parameter with the local path to the ISO image.
331+
332+
```powershell
333+
# Define ISO and destination paths
334+
$isoFilePath = "C:\SetupFiles\WindowsServer\ISOs\example.iso"
335+
$destinationPath = "C:\SetupFiles\WindowsServer\Files"
336+
# Mount the ISO file
337+
$iso = Mount-DiskImage -ImagePath $isoFilePath
338+
# Get the drive letter
339+
$driveLetter = ($iso | Get-Volume).DriveLetter
340+
# Create the destination directory
341+
New-Item -ItemType Directory -Path $destinationPath
342+
# Copy contents to the local directory
343+
Copy-Item -Path "${driveLetter}:\*" -Destination $destinationPath –Recurse
344+
# Dismount the ISO file
345+
Dismount-DiskImage -ImagePath $isoFilePath
346+
```
347+
348+
1. Upgrade the system.
349+
350+
```powershell
351+
Invoke-CauRun –ClusterName <SystemName> -CauPluginName Microsoft.RollingUpgradePlugin -EnableFirewallRules -CauPluginArguments @{ 'WuConnected'='false';'PathToSetupMedia'='\some\path\'; 'UpdateClusterFunctionalLevel'='true'; } -ForceSelfUpdate -Force
352+
```
353+
354+
1. Wait for the update to complete and check the status of the update.
355+
356+
::: zone-end
357+
358+
359+
## Check the status of an update
360+
183361

184362
[!INCLUDE [verify-update](../includes/azure-local-verify-update.md)]
185363

0 commit comments

Comments
 (0)