Create komputer virtual menggunakan disk OS terkelola yang ada dengan PowerShell
Skrip ini membuat mesin virtual dengan melampirkan disk terkelola yang ada sebagai disk OS. Gunakan skrip ini dalam skenario sebelumnya:
- Membuat Mesin Virtual dari disk OS terkelola yang ada yang disalin dari disk terkelola di langganan yang berbeda
- Membuat Mesin Virtual dari disk terkelola yang ada yang dibuat dari file VHD khusus
- Membuat Mesin Virtual dari disk OS terkelola yang ada yang dibuat dari snapshot
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
Skrip sampel
#Provide the subscription Id
$subscriptionId = 'yourSubscriptionId'
#Provide the name of your resource group
$resourceGroupName ='yourResourceGroupName'
#Provide the name of the snapshot that will be used to create OS disk
$snapshotName = 'yourSnapshotName'
#Provide the name of the OS disk that will be created using the snapshot
$osDiskName = 'yourOSDiskName'
#Provide the name of an existing virtual network where virtual machine will be created
$virtualNetworkName = 'yourVNETName'
#Provide the name of the virtual machine
$virtualMachineName = 'yourVMName'
#Provide the size of the virtual machine
#e.g. Standard_DS3
#Get all the vm sizes in a region using below script:
#e.g. Get-AzVMSize -Location westus
$virtualMachineSize = 'Standard_DS3'
#Set the context to the subscription Id where Managed Disk will be created
Select-AzSubscription -SubscriptionId $SubscriptionId
$snapshot = Get-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName
$diskConfig = New-AzDiskConfig -Location $snapshot.Location -SourceResourceId $snapshot.Id -CreateOption Copy
$disk = New-AzDisk -Disk $diskConfig -ResourceGroupName $resourceGroupName -DiskName $osDiskName
#Initialize virtual machine configuration
$VirtualMachine = New-AzVMConfig -VMName $virtualMachineName -VMSize $virtualMachineSize
#Use the Managed Disk Resource Id to attach it to the virtual machine. Please change the OS type to linux if OS disk has linux OS
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -ManagedDiskId $disk.Id -CreateOption Attach -Windows
#Create a public IP for the VM
$publicIp = New-AzPublicIpAddress -Name ($VirtualMachineName.ToLower()+'_ip') -ResourceGroupName $resourceGroupName -Location $snapshot.Location -AllocationMethod Dynamic
#Get the virtual network where virtual machine will be hosted
$vnet = Get-AzVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupName
# Create NIC in the first subnet of the virtual network
$nic = New-AzNetworkInterface -Name ($VirtualMachineName.ToLower()+'_nic') -ResourceGroupName $resourceGroupName -Location $snapshot.Location -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $publicIp.Id
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $nic.Id
#Create the virtual machine with Managed Disk
New-AzVM -VM $VirtualMachine -ResourceGroupName $resourceGroupName -Location $snapshot.Location
Membersihkan penyebaran
Jalankan perintah berikut untuk menghapus grup sumber daya, VM, dan semua sumber daya terkait.
Remove-AzResourceGroup -Name myResourceGroup
Penjelasan skrip
Skrip ini menggunakan perintah berikut untuk mendapatkan properti disk terkelola, melampirkan disk terkelola ke Mesin Virtual baru, dan membuat Mesin Virtual. Setiap item dalam tabel menautkan dokumentasi spesifik perintah.
Perintah | Catatan |
---|---|
Get-AzDisk | Mendapatkan objek disk berdasarkan nama dan grup sumber daya disk. Properti id dari objek disk yang dikembalikan digunakan untuk melampirkan disk ke VM baru |
New-AzVMConfig | Membuat konfigurasi komputer virtual. Konfigurasi ini mencakup informasi seperti nama komputer virtual, sistem operasi, dan kredensial administratif. Konfigurasi digunakan selama pembuatan komputer virtual. |
Set-AzVMOSDisk | Melampirkan disk terkelola menggunakan properti Id disk sebagai disk OS ke komputer virtual baru |
New-AzPublicIpAddress | Membuat alamat IP publik. |
New-AzNetworkInterface | Membuat antarmuka jaringan. |
New-AzVM | Membuat komputer virtual. |
Remove-AzResourceGroup | Menghapus grup sumber daya dan semua sumber daya yang ada di dalamnya. |
Untuk gambar marketplace, gunakan Set-AzVMPlan untuk mengatur informasi paket.
Set-AzVMPlan -VM $VirtualMachine -Publisher $Publisher -Product $Product -Name $Bame
Langkah berikutnya
Untuk informasi selengkapnya tentang modul Azure PowerShell, lihat dokumentasi Azure PowerShell.
Sampel skrip PowerShell komputer virtual tambahan dapat ditemukan dalam dokumentasi Azure Windows VM.