Udostępnij za pomocą


Tworzenie maszyny wirtualnej przy użyciu istniejącego zarządzanego dysku systemu operacyjnego za pomocą programu PowerShell

Ten skrypt tworzy maszynę wirtualną, dołączając istniejący dysk zarządzany jako dysk systemu operacyjnego. Użyj tego skryptu w poprzednich scenariuszach:

  • Tworzenie maszyny wirtualnej na podstawie istniejącego dysku zarządzanego systemu operacyjnego skopiowanego z dysku zarządzanego w innej subskrypcji
  • Tworzenie maszyny wirtualnej na podstawie istniejącego dysku zarządzanego utworzonego na podstawie wyspecjalizowanego pliku VHD
  • Utwórz maszynę wirtualną z istniejącego zarządzanego dysku systemu operacyjnego utworzonego na podstawie migawki.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

Przykładowy skrypt

#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

Dokończenie wdrożenia

Uruchom następujące polecenie, aby usunąć grupę zasobów, maszynę wirtualną i wszystkie powiązane zasoby.

Remove-AzResourceGroup -Name myResourceGroup

Wyjaśnienie skryptu

Ten skrypt używa następujących poleceń, aby uzyskać właściwości dysku zarządzanego, dołączyć dysk zarządzany do nowej maszyny wirtualnej i utworzyć maszynę wirtualną. Każda pozycja w tabeli stanowi link do dokumentacji specyficznej dla danego polecenia.

Komenda Notatki
Get-AzDisk Pobiera obiekt dysku na podstawie nazwy i grupy zasobów dysku. Właściwość Id zwróconego obiektu dysku jest używana do dołączania dysku do nowej maszyny wirtualnej
New-AzVMConfig Tworzy konfigurację maszyny wirtualnej. Ta konfiguracja zawiera informacje, takie jak nazwa maszyny wirtualnej, system operacyjny i poświadczenia administracyjne. Konfiguracja jest używana podczas tworzenia maszyny wirtualnej.
Set-AzVMOSDisk Dołącza dysk zarządzany przy użyciu właściwości Id dysku jako dysku systemu operacyjnego do nowej maszyny wirtualnej
New-AzPublicIpAddress Tworzy publiczny adres IP.
New-AzNetworkInterface Tworzy interfejs sieciowy.
New-AzVM Utwórz maszynę wirtualną.
Remove-AzResourceGroup Usuwa grupę zasobów i wszystkie zawarte w niej zasoby.

W przypadku obrazów z witryny Marketplace użyj polecenia Set-AzVMPlan, aby ustawić informacje o planie.

Set-AzVMPlan -VM $VirtualMachine -Publisher $Publisher -Product $Product -Name $Bame

Następne kroki

Aby uzyskać więcej informacji na temat modułu Azure PowerShell, zobacz dokumentację programu Azure PowerShell.

Więcej przykładowych skryptów programu PowerShell na potrzeby maszyny wirtualnej można znaleźć w dokumentacji dotyczącej maszyny wirtualnej platformy Azure z systemem Windows.