Perform Windows 10 Edition Upgrade Using SCCM
In this article, we will demonstrate how to perform a Windows 10 edition upgrade using SCCM. The Edition Upgrade Policy in SCCM can be used to perform Windows 10 edition upgrades. For example, you can easily upgrade Windows 10 Pro to Windows 10 Enterprise.
There are several methods for changing the product key on a Windows 10 PC. If you want to change the product key on a single machine, go to Windows 10 Settings. Another simple method is to run the slui.exe 3 command, which displays a window in which you can enter the product key.
If you only have a few computers, the solutions listed above are adequate. If you want to change or upgrade the Windows 10 edition for many computers, you can use SCCM.
In this post, we will use the latest Configuration Manager version to upgrade the edition of Windows 10 devices to a new edition. By using a valid key, I will be upgrading Windows 10 Pro to Windows 10 Enterprise.
Table of Contents
Prerequisites for Windows 10 Edition Upgrade
Before you use SCCM to change Windows 10 editions, take a look at some prerequisites.
- Ensure you have a valid product key for the new version of Windows. This product key can be either a multiple activation key (MAK), or a generic volume licensing key (GVLK).
- You must have the Configuration Manager Full Administrator security role to upgrade Windows 10 editions using SCCM.
- The devices must run the Configuration Manager client software.
Supported Windows 10 Edition Upgrade paths
To change a Windows 10 edition, you must know the supported upgrade paths.
- Windows 10 Pro to Windows 10 Enterprise
- From Windows 10 Home to Windows 10 Education
- From Windows 10 Mobile to Windows 10 Mobile Enterprise
Create Windows 10 Edition Upgrade Policy in SCCM
You can create a policy for the Windows 10 edition upgrade in SCCM using the following steps:
- Launch the SCCM console.
- Go to Assets and Compliance > Compliance Settings.
- Right-click the Windows 10 Edition Upgrade node.
- Click Create Edition Upgrade Policy.
On the General page of the Create Edition Upgrade Policy Wizard, specify the following information:
- Name – Specify a name for the edition upgrade policy
- Description – Enter a description.
- Specify the type of edition upgrade that you want to create – Select Edition Upgrade for devices managed with the Configuration Manager client.
- SKU to upgrade device to – From the drop-down list, select the target edition of Windows 10 desktop. In my case it is Windows 10 Enterprise.
- License information: If you have a product key with you select Product Key option else select License file. Enter a valid product key for the target Windows 10 desktop edition.
Note – Once you enter the key, you cannot change or modify the key later. Therefore, you must enter the correct product key here.
Click Next.
On the Summary page, click Next.
Finally, on the completion page, click Close.
Deploy Edition Upgrade policy for Windows 10
We will now deploy the edition upgrade policy that we just created in the above step.
- In the SCCM console, go to Assets and Compliance > Compliance Settings > Windows 10 Edition Upgrade node.
- Right-click the Windows 10 edition upgrade policy you want to deploy and click Deploy.
Click Browse and choose the device collection to which you want to deploy the policy.
Select the schedule by which the client evaluates the policy. Click OK.
Once the client evaluates the targeted policy, it applies the upgrade. If you want to speed up the things, here is a bonus tip.
On the Windows 10 client computer, open Configuration Manager properties. Click Configurations tab and select the Windows 10 edition upgrade baseline and click Evaluate.
Check the Last Evaluation time date and time. Click OK.
Monitor the Windows 10 Edition Upgrade Policy Deployment
After you deploy the policy, you can monitor this deployment from the Deployments node of the Monitoring workspace.
If you have entered a valid key, I don’t see any issues with this deployment. But if you see the below errors, it indicates an unsuccessful deployment.
- Not applicable for this device
- Data type conversion failed
In addition to that, on the client computer open DcmWmiProvider.log. If the upgrade is successful, you should find similar lines in your log file.
Initializing the OS Edition Upgrade Provider. OsEditionUpgradeProvider >>>>>>Starting GetAllInstances in OsEditionUpgradeProvider<<<<<< >>>>>>Starting GetSingletonInstance in OsEditionUpgradeProvider<<<<<< >>>>>>Starting PopulateInstanceForEditionUpgradeClass in OsEditionUpgradeProvider<<<<<< >>>>>>Finished PopulateInstanceForEditionUpgradeClass in OsEditionUpgradeProvider<<<<<< >>>>>>Finished GetSingletonInstance in OsEditionUpgradeProvider<<<<<< >>>>>>Finished GetAllInstances in OsEditionUpgradeProvider<<<<<< >>>>>>Starting PutInstanceAsync in OsEditionUpgradeProvider<<<<<< Already upgraded, existing edition = 4 and target edition = 4
Hello,
Firstly, let me say thank you for all the SCCM / MECM knowledge you impart daily 🙂
Secondly, I’m not trying to change my edition but I am trying to change my Activation Key. I’ve deployed this hoping that the compliance would check the key matches the deployed key. I guess it doesn’t get that far. Seems to check the OS Edition and stop there. I guess I’ll have to create my own task / app / package or script.
Thanks again,
Initializing the OS Edition Upgrade Provider. 10/12/2021 16:49:26 4560 (0x11D0)
CreateInstanceEnumAsync: MDM_WindowsLicensing 10/12/2021 16:49:26 4560 (0x11D0)
>>>>>>Starting GetAllInstances in OsEditionUpgradeProvider<<<<<>>>>>Starting GetSingletonInstance in OsEditionUpgradeProvider<<<<<>>>>>Starting PopulateInstanceForEditionUpgradeClass in OsEditionUpgradeProvider<<<<<>>>>>Finished PopulateInstanceForEditionUpgradeClass in OsEditionUpgradeProvider<<<<<>>>>>Finished GetSingletonInstance in OsEditionUpgradeProvider<<<<<>>>>>Finished GetAllInstances in OsEditionUpgradeProvider<<<<<>>>>>Starting GetAllInstances in OsEditionUpgradeProvider<<<<<>>>>>Starting GetSingletonInstance in OsEditionUpgradeProvider<<<<<>>>>>Starting PopulateInstanceForEditionUpgradeClass in OsEditionUpgradeProvider<<<<<>>>>>Finished PopulateInstanceForEditionUpgradeClass in OsEditionUpgradeProvider<<<<<>>>>>Finished GetSingletonInstance in OsEditionUpgradeProvider<<<<<>>>>>Finished GetAllInstances in OsEditionUpgradeProvider<<<<<< 10/12/2021 16:58:07 26620 (0x67FC)
Its a great post. We successfully applied this to a test collection and the configuration shows compliant. However MS info of end client shows pro and system properties shows enterprise
As always a great post. We successfully applied this to a test collection and the configuration shows compliant .However MS info shows pro and system properties shows enterprise
system properties sows enterprise
Hi Prajwal – just about to deploy this to a test target collection but just wondered if its then possible to go back and change the targetted collection to all of my machines?
Thanks for your help
Hello, This is a great post. I deployed this in my infrastructure, the issue I am facing is that os sku is updating but os caption is not. What can be done regarding this. Thanks
Hi Mayank,
Were you ever able to fix this? I’m get the same issue. The caption still states pro, but the sku states enterprise. When I logon to the machine, it states its on enterprise edition. When you run a powershell cmd get-windowsedition – online the machine returns enterprise. For now my solution is to run this script against machines, to prove to auditors that machines are on enterprise. Next step is to look at how to change the caption locally on the machine. Where it’s scraping this info from.
hi Prajwal
we don’t have individual license key we have downloaded Windows iso image from our Microsoft login portal , how do we upgrade for 1000 machine
Thanks, Prajwal,
this helped me to retain the patch update support for our machines that originally came with Pro and were not upgraded to Enterprise.
Do you know if this works for moving from Windows 10 Enterprise N to Windows 10 Enterprise?
Getting the following error
Invalid parameters specified. – 0x80070057 20/11/2019 02:06:35 PM 7532 (0x1D6C)
Failed to process COsEditionUpgradeProvider::PutInstanceAsync – failed (0x80070057). 20/11/2019 02:06:35 PM 7532 (0x1D6C)
Trying to upgrade from education to enterprise, we had a bunch of guys who deployed the wrong edition of Windows 10 in our environment and trying to upgrade them without having to re-install.
Johann – I am getting exactly the same issue. Did you find a solution.
i’am getting the ssame error from pro education to education.. find a solution?
Have a solution ? We have some Pro Education we need to downgrade to Education (for direct access)
Same issue, what is the fix for this error?
Nice article. Would this support KMS keys as well?
We have many systems with MAK keys that we would like to shift to KMS and change the edition from Pro to Enterprise.
I am going to test that soon. I guess it should work.
It works
Thank you.