How to deploy Windows 10 on Azure

Applies to: ✔️ Windows VMs ✔️ Flexible scale sets

For customers with Windows 10 Enterprise E3/E5 per user or Azure Virtual Desktop Access per user (User Subscription Licenses or Add-on User Subscription Licenses), Multitenant Hosting Rights for Windows 10 allows you to bring your Windows 10 Licenses to the cloud and run Windows 10 Virtual Machines on Azure without paying for another license. Multitenant Hosting Rights are only available for Windows 10 (version 1703 or later).

For more information, see Multitenant Hosting for Windows 10.

Note

Subscription Licenses that qualify for Multitenant Hosting Rights

For more details about subscription licenses that qualify to run Windows 10 on Azure, download the Windows 10 licensing brief for Virtual Desktops

Important

Users must have one of the below subscription licenses in order to use Windows 10 images in Azure for any production workload. If you do not have one of these subscription licenses, they can be purchased through your Cloud Service Partner or directly through Microsoft.

Operating systems and licenses

You have a choice of operating systems that you can use for session hosts to provide virtual desktops and remote apps. You can use different operating systems with different host pools to provide flexibility to your users. Supported dates are inline with the Microsoft Lifecycle Policy. We support the following 64-bit versions of these operating systems:

Operating system licenses

  • Windows 11 Enterprise multi-session
  • Windows 11 Enterprise
  • Windows 10 Enterprise, version 1909 and later

License entitlement

  • Microsoft 365 E3, E5, A3, A5, F3, Business Premium, Student Use Benefit
  • Windows Enterprise E3, E5
  • Windows VDA E3, E5
  • Windows Education A3, A5

External users can use per-user access pricing instead of license entitlement.

Deploying Windows 10 Image from Azure Marketplace

For PowerShell, CLI and Azure Resource Manager template deployments, Windows 10 images can be found using the PublisherName: MicrosoftWindowsDesktop and Offer: Windows-10. Windows 10 version Creators Update (1809) or later is supported for Multitenant Hosting Rights.

Get-AzVmImageSku -Location '$location' -PublisherName 'MicrosoftWindowsDesktop' -Offer 'Windows-10'

Skus                        Offer      PublisherName           Location 
----                        -----      -------------           -------- 
rs4-pro                     Windows-10 MicrosoftWindowsDesktop eastus   
rs4-pron                    Windows-10 MicrosoftWindowsDesktop eastus   
rs5-enterprise              Windows-10 MicrosoftWindowsDesktop eastus   
rs5-enterprisen             Windows-10 MicrosoftWindowsDesktop eastus   
rs5-pron                    Windows-10 MicrosoftWindowsDesktop eastus  

For more information on available images see Find and use Azure Marketplace VM images with Azure PowerShell

Uploading Windows 10 VHD to Azure

if you are uploading a generalized Windows 10 VHD, please note Windows 10 does not have built-in administrator account enabled by default. To enable the built-in administrator account, include the following command as part of the Custom Script extension.

Net user <username> /active:yes

The following PowerShell snippet is to mark all administrator accounts as active, including the built-in administrator. This example is useful if the built-in administrator username is unknown.

$adminAccount = Get-WmiObject Win32_UserAccount -filter "LocalAccount=True" | ? {$_.SID -Like "S-1-5-21-*-500"}
if($adminAccount.Disabled)
{
    $adminAccount.Disabled = $false
    $adminAccount.Put()
}

For more information:

Deploying Windows 10 with Multitenant Hosting Rights

Make sure you have installed and configured the latest Azure PowerShell. Once you have prepared your VHD, upload the VHD to your Azure Storage account using the Add-AzVhd cmdlet as follows:

Add-AzVhd -ResourceGroupName "myResourceGroup" -LocalFilePath "C:\Path\To\myvhd.vhd" `
    -Destination "https://mystorageaccount.blob.core.windows.net/vhds/myvhd.vhd"

Deploy using Azure Resource Manager Template Deployment Within your Resource Manager templates, an additional parameter for licenseType can be specified. You can read more about authoring Azure Resource Manager templates. Once you have your VHD uploaded to Azure, edit you Resource Manager template to include the license type as part of the compute provider and deploy your template as normal:

"properties": {
    "licenseType": "Windows_Client",
    "hardwareProfile": {
        "vmSize": "[variables('vmSize')]"
    }

Deploy via PowerShell When deploying your Windows Server VM via PowerShell, you have an additional parameter for -LicenseType. Once you have your VHD uploaded to Azure, you create a VM using New-AzVM and specify the licensing type as follows:

New-AzVM -ResourceGroupName "myResourceGroup" -Location "West US" -VM $vm -LicenseType "Windows_Client"

Verify your VM is utilizing the licensing benefit

Once you have deployed your VM through either the PowerShell or Resource Manager deployment method, verify the license type with Get-AzVM as follows:

Get-AzVM -ResourceGroup "myResourceGroup" -Name "myVM"

The output is similar to the following example for Windows 10 with correct license type:

Type                     : Microsoft.Compute/virtualMachines
Location                 : westus
LicenseType              : Windows_Client

This output contrasts with the following VM deployed without Azure Hybrid Use Benefit licensing, such as a VM deployed straight from the Azure Gallery:

Type                     : Microsoft.Compute/virtualMachines
Location                 : westus
LicenseType              :

Additional Information about joining Azure Active Directory

Azure provisions all Windows VMs with built-in administrator account, which cannot be used to join Azure Active Directory. For example, Settings > Account > Access Work or School > +Connect will not work. You must create and log on as a second administrator account to join Azure AD manually. You can also configure Azure AD using a provisioning package, use the link in the Next Steps section to learn more.

Next Steps