Skip Navigation

Create a Pre-Encrypted Windows or Linux VM.

Last updated: 8/29/2018

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

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


Parameter Name Description
vmName Name of the Virtual Machine
bootDiagnosticsStorageAccountName 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