π± Recipe Β· Intune & Device Management
Trigger a Windows 11 Feature Upgrade for an Intune-Managed Device
Move a Windows 10 workstation to a supported Windows 11 release using Intune Feature Update profiles
Complexity
Intermediate
Impact
devices + windows-update + intune + feature-upgrade
Context
Why This Matters
Windows 10 is approaching end-of-support, and many organizations need a repeatable, auditable way to move managed workstations onto a supported Windows 11 release. Unlike a device sync or reboot, a Windows feature upgrade cannot be fired as a one-shot remote action. There is no Graph endpoint like /upgradeToWindows11. Instead, the upgrade is delivered through a Windows Feature Update profile in Intune that targets the specific Windows 11 version you want devices to land on.
This recipe walks through the correct pattern: locate the target device, confirm its current OS build and compliance, create (or reuse) a Feature Update profile pointing at a supported Windows 11 release, assign the profile to the device (directly via a group), and verify the rollout. It also covers the manual user-driven fallback via the Windows 11 Installation Assistant when you need one device upgraded immediately.
When to run this
- Preparing fleets for Windows 10 end-of-support
- Onboarding a new device family that shipped on Windows 10
- A help-desk ticket where a user explicitly asks for the upgrade
- Bringing a device to a version required by a compliance policy
Expected Outcomes
- The target device (e.g.
DESKTOP-8ADV83V) is confirmed located and managed in Intune, with current OS build recorded. - A Windows Feature Update profile exists in Intune targeting a supported Windows 11 release (e.g. Windows 11 23H2).
- The profile is assigned to a group that contains the target device.
- The device has been instructed to sync so it picks up the policy at its next Windows Update scan.
- You have a verification path (Intune reporting + device-side Windows Update UI) to confirm the upgrade downloads and installs.
Risks & Considerations
Before you upgrade
- Hardware compatibility: Confirm the device meets Windows 11 requirements (TPM 2.0, Secure Boot, supported CPU). VMs and older hardware may fail the compatibility check and silently skip the upgrade.
- Personal vs corporate-owned: Feature Update profiles only apply to Intune-managed Windows devices. If
managedDeviceOwnerTypeispersonal(BYOD / user-enrolled), policy targeting still works but the user experience and rollback options differ. - Free disk space: Windows 11 upgrades typically need 20+ GB free. A device with low free space will stall at download or install.
- Servicing channel collisions: If a Windows Update for Business ring or a Feature Update deferral policy already holds the device back, your new profile may not take effect until conflicts are resolved. Check Policy conflicts in Intune.
- Rollout pacing: For anything beyond a handful of devices, use a rollout plan (gradual rollout) rather than an immediate blast. Feature upgrades are disruptive and can break line-of-business apps.
- No instant trigger: Do not promise the end user that the upgrade will start right now. Even after assignment + sync, the device downloads and installs during its normal Windows Update window. Manual Installation Assistant on the device is the only truly immediate path.
- BitLocker & recovery keys: Ensure recovery keys are escrowed in Entra before upgrading. A stalled upgrade that boots into recovery without a key is a painful ticket.
Required Permissions
| Permission | Why It's Needed |
|---|---|
| DeviceManagementManagedDevices.Read.All | Locate the target device and read its OS version, compliance, and ownership |
| DeviceManagementManagedDevices.PrivilegedOperations.All | Trigger a sync so the device picks up the new Feature Update policy quickly |
| DeviceManagementConfiguration.ReadWrite.All | Create and assign Windows Feature Update profiles |
| Group.ReadWrite.All | Add the target device to an assignment group if one does not already exist |
| Directory.Read.All | Resolve user and device identifiers for assignment |
The fastest way to get this done: just ask Dex. Copy the prompt below and paste it into your Dex conversation.
For IT Admins
Paste into Dex Pro
For End Users
How an employee would ask Dex for help
Upgrade a device to Windows 11 via Intune Admin Center
1. Locate the device
- Sign in to the Microsoft Intune admin center.
- Navigate: .
- Search for the device name (e.g.
DESKTOP-8ADV83V). Open it. - On the device overview, record OS version, Compliance, Primary user, and Ownership.
2. Confirm or create an assignment group
- Navigate: (or pick an existing group like Win11-Upgrade-Wave1).
- Create a Security group, assigned membership, then add the target device.
3. Create the Windows Feature Update profile
- Navigate: .
- Click + Create profile.
- Name: e.g. Win11 23H2 - Targeted Rollout.
- Feature update to deploy: choose a supported Windows 11 release (e.g. Windows 11, version 23H2).
- Rollout options: Make update available as soon as possible for a single-device test, or schedule a gradual rollout for fleets.
- Click Next.
4. Assign the profile
- Under Assignments, click + Add groups and select the group containing the device.
- Review + create.
5. Force a sync and verify
- Back in , click Sync.
- On the device, open and click Check for updates. The Windows 11 feature update should appear (allow time for Intune evaluation, typically 15β60 minutes).
- Back in Intune, check for rollout state.
Immediate fallback: Installation Assistant
If the user needs the upgrade right now and the device is compatible, have them download and run the Windows 11 Installation Assistant on the device itself. The device stays Intune-managed after upgrade.
Drive the upgrade with Microsoft Graph
There is no βupgrade this device to Windows 11 nowβ endpoint. The Graph-driven pattern is: find the device β create a Feature Update profile β assign it to a group containing the device β sync.
1. Locate the device
GET https://graph.microsoft.com/beta/deviceManagement/managedDevices?$filter=deviceName eq 'DESKTOP-8ADV83V'&$select=id,deviceName,userPrincipalName,operatingSystem,osVersion,complianceState,managedDeviceOwnerTypeSample response (trimmed):
{
"value": [{
"id": "652ccfc3-35b7-4964-88b7-dc488b62a5b9",
"deviceName": "DESKTOP-8ADV83V",
"operatingSystem": "Windows",
"osVersion": "10.0.22000.2538",
"complianceState": "compliant"
}]
}2. List existing Feature Update profiles
GET https://graph.microsoft.com/beta/deviceManagement/windowsFeatureUpdateProfiles?$select=id,displayName,featureUpdateVersionIf the result is empty (@odata.count: 0), you need to create one.
3. Create a Windows 11 Feature Update profile
POST https://graph.microsoft.com/beta/deviceManagement/windowsFeatureUpdateProfiles
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.windowsFeatureUpdateProfile",
"displayName": "Win11 23H2 - Targeted Rollout",
"description": "Upgrade eligible devices to Windows 11 23H2",
"featureUpdateVersion": "Windows 11, version 23H2",
"rolloutSettings": {
"offerStartDateTimeInUTC": "2025-01-15T00:00:00Z",
"offerEndDateTimeInUTC": null,
"offerIntervalInDays": null
}
}Capture the returned id β you need it for assignment.
4. Assign the profile to a group
POST https://graph.microsoft.com/beta/deviceManagement/windowsFeatureUpdateProfiles/{profileId}/assign
Content-Type: application/json
{
"assignments": [{
"target": {
"@odata.type": "#microsoft.graph.groupAssignmentTarget",
"groupId": "{groupId}"
}
}]
}5. Force a device sync
POST https://graph.microsoft.com/beta/deviceManagement/managedDevices/{deviceId}/syncDeviceThe device will pull policy on its next check-in. Expect the Windows 11 offer to surface on the device within 15β60 minutes assuming it is compatible and there are no conflicting deferral policies.
Verification
GET https://graph.microsoft.com/beta/deviceManagement/managedDevices/{deviceId}?$select=deviceName,osVersion,lastSyncDateTimeScript the upgrade workflow in PowerShell
The script below uses the Microsoft.Graph SDK to run the full flow: resolve the device, create a Windows 11 Feature Update profile if one does not exist, assign it to a group (created or reused), and trigger a device sync.
Prerequisites
- PowerShell 7+
Install-Module Microsoft.Graph -Scope CurrentUser- Role: Intune Administrator (or equivalent)
Usage
.\Start-Win11Upgrade.ps1 -DeviceName "DESKTOP-8ADV83V" -FeatureUpdateVersion "Windows 11, version 23H2" -GroupName "Win11-Upgrade-Wave1"What it does
- Connects to Graph with the minimum required scopes.
- Looks up the device by
deviceNameand prints current OS version. - Finds or creates the assignment group and ensures the device is a member.
- Finds or creates a Feature Update profile for the requested Windows 11 version.
- Assigns the profile to the group.
- Triggers a device sync so the policy is picked up at the next check-in.
Re-run the script safely β every step is idempotent.
Next steps