Deploy a template to Azure Stack using PowerShell

Applies to: Azure Stack integrated systems and Azure Stack Development Kit

You can use PowerShell to deploy Azure Resource Manager templates to Azure Stack. This article describes how to use PowerShell to deploy a template.

Run AzureRM PowerShell cmdlets

This example uses AzureRM PowerShell cmdlets and a template stored on GitHub. The template creates a Windows Server 2012 R2 Datacenter virtual machine.


Before you try this example, make sure that you've configured PowerShell for an Azure Stack user.

  1. Go to and find the 101-simple-windows-vm template. Save the template to this location: C:\templates\azuredeploy-101-simple-windows-vm.json.
  2. Open an elevated PowerShell command prompt.
  3. Replace username and password in the following script with your username and password, and then run the script.

    # Set deployment variables
    $myNum = "001" #Modify this per deployment
    $RGName = "myRG$myNum"
    $myLocation = "local"
    # Create resource group for template deployment
    New-AzureRmResourceGroup -Name $RGName -Location $myLocation
    # Deploy simple IaaS template
    New-AzureRmResourceGroupDeployment `
        -Name myDeployment$myNum `
        -ResourceGroupName $RGName `
        -TemplateFile c:\templates\azuredeploy-101-simple-windows-vm.json `
        -NewStorageAccountName mystorage$myNum `
        -DnsNameForPublicIP mydns$myNum `
        -AdminUsername <username> `
        -AdminPassword ("<password>" | ConvertTo-SecureString -AsPlainText -Force) `
        -VmName myVM$myNum `
        -WindowsOSVersion 2012-R2-Datacenter


    Every time you run this script, increment the value of the $myNum parameter to prevent overwriting your deployment.

  4. Open the Azure Stack portal, select Browse, and then select Virtual machines to find your new virtual machine (myDeployment001).

Next steps

Deploy templates with Visual Studio