Skip Navigation

Create a Pre-Encrypted Windows or Linux VM.

Last updated: 10-11-2015

This template creates and deploys an Encrypted Windows or Linux VM on Azure.

This Azure Resource Manager (ARM) template was created by a member of the community and not by Microsoft. Each ARM template is licensed to you under a licence agreement by its owner, not Microsoft. Microsoft is not responsible for ARM templates provided and licensed by community members and does not screen for security, compatibility or performance. Community ARM templates are not supported under any Microsoft support programme or service and are made available AS IS without warranty of any kind.


Parameter Name Description
vmName Name of the Virtual Machine
existingStorageAccountName Storage account name
osVhdUri URI of OS vhd. Ex:
osType OS product type
virtualNetworkName Virtual network name
subnetName Subnet name
vmSize VM size
keyVaultResourceID KeyVault resource id. Ex: /subscriptions/subscriptionid/resourceGroups/contosorg/providers/Microsoft.KeyVault/vaults/contosovault
keyVaultSecretUrl KeyVault secret Url. Ex:
useExistingKek Select kek if the secret is encrypted with a key encryption key and pass explicit keyVaultKekUrl. For nokek, you can keep keyVaultKekUrl empty.
keyVaultKekUrl KeyVault key encryption key Url. Ex:
location Location for all resources.

Use the template


New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri
Install and configure Azure PowerShell

Command line

azure config mode arm
azure group deployment create <my-resource-group> <my-deployment-name> --template-uri
Install and Configure the Azure Cross-Platform Command-Line Interface