Last active
December 5, 2016 13:34
-
-
Save mansurali901/b72af294de66e5aa7b2d875ee742fea0 to your computer and use it in GitHub Desktop.
Azure VM Snapshot In Resource Manager
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Enter a new user name and password to use as the local administrator account | |
# for remotely accessing the VM. | |
$cred = Get-Credential | |
# Name of the storage account where the VHD is located. This example sets the | |
# storage account name as "myStorageAccount" | |
$storageAccName = "NewStorageAccountName" | |
# Name of the virtual machine. This example sets the VM name as "myVM". | |
$vmName = "NewVMName" | |
# Size of the virtual machine. This example creates "Standard_D2_v2" sized VM. | |
# See the VM sizes documentation for more information: | |
# https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/ | |
$vmSize = "Standard_D2_v2" | |
# Computer name for the VM. This examples sets the computer name as "myComputer". | |
$computerName = "NewVMName" | |
# Name of the disk that holds the OS. This example sets the | |
# OS disk name as "myOsDisk" | |
$osDiskName = "VHDtoTakeImage.vhd" | |
# Assign a SKU name. This example sets the SKU name as "Standard_LRS" | |
# Valid values for -SkuName are: Standard_LRS - locally redundant storage, Standard_ZRS - zone redundant | |
# storage, Standard_GRS - geo redundant storage, Standard_RAGRS - read access geo redundant storage, | |
# Premium_LRS - premium locally redundant storage. | |
$skuName = "Standard_LRS" | |
$rgName = 'Gfk-test' | |
$nic = 'NetworkInterfaceName' | |
# Get the storage account where the uploaded image is stored | |
$storageAcc = Get-AzureRmStorageAccount -ResourceGroupName $rgName -AccountName $storageAccName | |
# Set the VM name and size | |
$vmConfig = New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize | |
#Set the Windows operating system configuration and add the NIC | |
$vm = Set-AzureRmVMOperatingSystem -VM $vmConfig -Windows -ComputerName $computerName ` | |
-Credential $cred -ProvisionVMAgent -EnableAutoUpdate | |
$vm = Add-AzureRmVMNetworkInterface -VM $vm -Id $nic | |
# $imageURI = | |
# Create the OS disk URI | |
$osDiskUri = '{0}vhds/{1}-{2}.vhd' ` | |
-f $storageAcc.PrimaryEndpoints.Blob.ToString(), $vmName.ToLower(), $osDiskName | |
# Configure the OS disk to be created from the existing VHD image (-CreateOption fromImage). | |
$vm = Set-AzureRmVMOSDisk -VM $vm -Name $osDiskName -VhdUri $osDiskUri ` | |
-CreateOption fromImage -SourceImageUri $imageURI -Windows | |
$location = 'East US' | |
# Create the new VM | |
New-AzureRmVM -ResourceGroupName $rgName -Location $location -VM $vm |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment