Comandi di PowerShell comuni per la creazione e la gestione di macchine virtuali di AzureCommon PowerShell commands for creating and managing Azure Virtual Machines

Questo articolo illustra alcuni comandi di Azure PowerShell che è possibile usare per creare e gestire macchine virtuali nella sottoscrizione di Azure.This article covers some of the Azure PowerShell commands that you can use to create and manage virtual machines in your Azure subscription. Per una guida più dettagliata con parametri e opzioni della riga di comando specifici, è possibile usare Get-Help come comando.For more detailed help with specific command-line switches and options, you can use Get-Help command.

Per informazioni su come installare la versione più recente di Azure PowerShell, selezionare la sottoscrizione e accedere all'account, vedere Come installare e configurare Azure PowerShell.See How to install and configure Azure PowerShell for information about installing the latest version of Azure PowerShell, selecting your subscription, and signing in to your account.

Queste variabili potrebbero essere utili se si esegue più di uno tra i comandi indicati nell'articolo:These variables might be useful for you if running more than one of the commands in this article:

  • $location: la posizione della macchina virtuale.$location - The location of the virtual machine. È possibile usare Get-AzureRmLocation per trovare un'area geografica appropriata.You can use Get-AzureRmLocation to find a geographical region that works for you.
  • $myResourceGroup: nome del gruppo di risorse che contiene la macchina virtuale.$myResourceGroup - The name of the resource group that contains the virtual machine.
  • $myVM: il nome della macchina virtuale.$myVM - The name of the virtual machine.

Creare una macchina virtualeCreate a VM

AttivitàTask comandoCommand
Creare una configurazione di macchina virtualeCreate a VM configuration $vm = New-AzureRmVMConfig -VMName $myVM -VMSize "Standard_D1_v1"$vm = New-AzureRmVMConfig -VMName $myVM -VMSize "Standard_D1_v1"

La configurazione della macchina virtuale viene usata per definire o aggiornare le impostazioni per la VM.The VM configuration is used to define or update settings for the VM. La configurazione viene inizializzata con il nome della VM e le rispettive dimensioni.The configuration is initialized with the name of the VM and its size.
Aggiungere le impostazioni di configurazioneAdd configuration settings $vm = Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $myVM -Credential $cred -ProvisionVMAgent -EnableAutoUpdate$vm = Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $myVM -Credential $cred -ProvisionVMAgent -EnableAutoUpdate

Le impostazioni del sistema operativo, incluse le credenziali, vengono aggiunte all'oggetto di configurazione creato in precedenza con New-AzureRmVMConfig.Operating system settings including credentials are added to the configuration object that you previously created using New-AzureRmVMConfig.
Aggiungere un'interfaccia di reteAdd a network interface $vm = Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id$vm = Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id

Una VM deve avere un'interfaccia di rete per le comunicazioni in una rete virtuale.A VM must have a network interface to communicate in a virtual network. È anche possibile usare Get-AzureRmNetworkInterface per recuperare un oggetto di interfaccia di rete esistente.You can also use Get-AzureRmNetworkInterface to retrieve an existing network interface object.
Specificare un'immagine della piattaformaSpecify a platform image $vm = Set-AzureRmVMSourceImage -VM $vm -PublisherName "nome_publisher" -Offer "offerta_publisher" -Skus "sku_prodotto" -Version "più_recente"$vm = Set-AzureRmVMSourceImage -VM $vm -PublisherName "publisher_name" -Offer "publisher_offer" -Skus "product_sku" -Version "latest"

Le informazioni sull'immagine vengono aggiunte all'oggetto di configurazione creato in precedenza con New-AzureRmVMConfig.Image information is added to the configuration object that you previously created using New-AzureRmVMConfig. L'oggetto restituito da questo comando viene usato solo quando si configura il disco del sistema operativo in modo che usi un'immagine della piattaforma.The object returned from this command is only used when you set the OS disk to use a platform image.
Configurare il disco del sistema operativo in modo che usi un'immagine della piattaformaSet OS disk to use a platform image $vm = Set-AzureRmVMOSDisk -VM $vm -Name "myOSDisk" -VhdUri "http://mystore1.blob.core.windows.net/vhds/myOSDisk.vhd" -CreateOption FromImage$vm = Set-AzureRmVMOSDisk -VM $vm -Name "myOSDisk" -VhdUri "http://mystore1.blob.core.windows.net/vhds/myOSDisk.vhd" -CreateOption FromImage

Il nome del disco del sistema operativo e la posizione in cui verrà inserito nella risorsa di archiviazione vengono aggiunti all'oggetto di configurazione creato in precedenza.The name of the operating system disk and its location in storage is added to the configuration object that you previously created.
Configurare il disco del sistema operativo in modo che usi un'immagine generalizzataSet OS disk to use a generalized image $vm = Set-AzureRmVMOSDisk -VM $vm -Name "myOSDisk" -SourceImageUri "https://mystore1.blob.core.windows.net/system/Microsoft.Compute/Images/myimages/myprefix-osDisk.{guid}.vhd" -VhdUri "https://mystore1.blob.core.windows.net/vhds/disk_name.vhd" -CreateOption FromImage -Windows$vm = Set-AzureRmVMOSDisk -VM $vm -Name "myOSDisk" -SourceImageUri "https://mystore1.blob.core.windows.net/system/Microsoft.Compute/Images/myimages/myprefix-osDisk.{guid}.vhd" -VhdUri "https://mystore1.blob.core.windows.net/vhds/disk_name.vhd" -CreateOption FromImage -Windows

Il nome del disco del sistema operativo, la posizione dell'immagine di origine e la posizione in cui verrà inserito il disco nella risorsa di archiviazione vengono aggiunti all'oggetto di configurazione.The name of the operating system disk, the location of the source image, and the disk's location in storage is added to the configuration object.
Configurare il disco del sistema operativo in modo che usi un'immagine specializzataSet OS disk to use a specialized image $vm = Set-AzureRmVMOSDisk -VM $vm -Name "myOSDisk" -VhdUri "http://mystore1.blob.core.windows.net/vhds/" -CreateOption Attach -Windows$vm = Set-AzureRmVMOSDisk -VM $vm -Name "myOSDisk" -VhdUri "http://mystore1.blob.core.windows.net/vhds/" -CreateOption Attach -Windows
Creare una macchina virtualeCreate a VM New-AzureRmVM -ResourceGroupName $myResourceGroup -Location $location -VM $vmNew-AzureRmVM -ResourceGroupName $myResourceGroup -Location $location -VM $vm

Tutte le risorse vengono create in un gruppo di risorse.All resources are created in a resource group. Prima di eseguire questo comando, eseguire New-AzureRmVMConfig, Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage, Add-AzureRmVMNetworkInterface e Set-AzureRmVMOSDisk.Before you run this command, run New-AzureRmVMConfig, Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage, Add-AzureRmVMNetworkInterface, and Set-AzureRmVMOSDisk.

Visualizzare le informazioni sulle VMGet information about VMs

AttivitàTask ComandoCommand
Elencare le macchine virtuali in una sottoscrizioneList VMs in a subscription Get-AzureRmVMGet-AzureRmVM
Elencare le macchine virtuali in un gruppo di risorseList VMs in a resource group Get-AzureRmVM -ResourceGroupName $myResourceGroupGet-AzureRmVM -ResourceGroupName $myResourceGroup

Per ottenere un elenco di gruppi di risorse disponibili nella sottoscrizione, usare Get-AzureRmResourceGroup.To get a list of resource groups in your subscription, use Get-AzureRmResourceGroup.
Visualizzare informazioni su una macchina virtualeGet information about a VM Get-AzureRmVM -ResourceGroupName $myResourceGroup -Name $myVMGet-AzureRmVM -ResourceGroupName $myResourceGroup -Name $myVM

Gestire le macchine virtualiManage VMs

AttivitàTask ComandoCommand
Avviare una macchina virtualeStart a VM Start-AzureRmVM -ResourceGroupName $myResourceGroup -Name $myVMStart-AzureRmVM -ResourceGroupName $myResourceGroup -Name $myVM
Arrestare una macchina virtualeStop a VM Stop-AzureRmVM -ResourceGroupName $myResourceGroup -Name $myVMStop-AzureRmVM -ResourceGroupName $myResourceGroup -Name $myVM
Riavviare una macchina virtuale in esecuzioneRestart a running VM Restart-AzureRmVM -ResourceGroupName $myResourceGroup -Name $myVMRestart-AzureRmVM -ResourceGroupName $myResourceGroup -Name $myVM
Eliminare una macchina virtualeDelete a VM Remove-AzureRmVM -ResourceGroupName $myResourceGroup -Name $myVMRemove-AzureRmVM -ResourceGroupName $myResourceGroup -Name $myVM
Generalizzare una macchina virtualeGeneralize a VM Set-AzureRmVm -ResourceGroupName $myResourceGroup -Name $myVM -GeneralizedSet-AzureRmVm -ResourceGroupName $myResourceGroup -Name $myVM -Generalized

È necessario eseguire questo comando prima di eseguire Save-AzureRmVMImage.Run this command before you run Save-AzureRmVMImage.
Acquisire una macchina virtualeCapture a VM Save-AzureRmVMImage -ResourceGroupName $myResourceGroup -VMName $myVM -DestinationContainerName "myImageContainer" -VHDNamePrefix "myImagePrefix" -Path "C:\filepath\filename.json"Save-AzureRmVMImage -ResourceGroupName $myResourceGroup -VMName $myVM -DestinationContainerName "myImageContainer" -VHDNamePrefix "myImagePrefix" -Path "C:\filepath\filename.json"

Una macchina virtuale deve essere preparata, arrestata e generalizzata per potere essere usata per creare un'immagine.A virtual machine must be prepared, shut down and generalized to be used to create an image. Prima di eseguire questo comando, eseguire Set-AzureRmVm.Before you run this command, run Set-AzureRmVm.
Aggiornare una macchina virtualeUpdate a VM Update-AzureRmVM -ResourceGroupName $myResourceGroup -VM $vmUpdate-AzureRmVM -ResourceGroupName $myResourceGroup -VM $vm

Ottenere la configurazione della macchina virtuale usando Get-AzureRmVM, cambiare le impostazioni di configurazione nell'oggetto VM e quindi eseguire questo comando.Get the current VM configuration using Get-AzureRmVM, change configuration settings on the VM object, and then run this command.
Aggiungere un disco dati a una macchina virtualeAdd a data disk to a VM Add-AzureRmVMDataDisk -VM $vm -Name "myDataDisk" -VhdUri "https://mystore1.blob.core.windows.net/vhds/myDataDisk.vhd" -LUN # -Caching ReadWrite -DiskSizeinGB # -CreateOption EmptyAdd-AzureRmVMDataDisk -VM $vm -Name "myDataDisk" -VhdUri "https://mystore1.blob.core.windows.net/vhds/myDataDisk.vhd" -LUN # -Caching ReadWrite -DiskSizeinGB # -CreateOption Empty

Usare Get-AzureRmVM per ottenere l'oggetto VM.Use Get-AzureRmVM to get the VM object. Specificare il numero LUN e le dimensioni del disco.Specify the LUN number and the size of the disk. Eseguire Update-AzureRmVM per applicare le modifiche della configurazione alla macchina virtuale.Run Update-AzureRmVM to apply the configuration changes to the VM. Il disco aggiunto non viene inizializzato.The disk that you add is not initialized.
Rimuovere un disco dati da una macchina virtualeRemove a data disk from a VM Remove-AzureRmVMDataDisk -VM $vm -Name "myDataDisk"Remove-AzureRmVMDataDisk -VM $vm -Name "myDataDisk"

Usare Get-AzureRmVM per ottenere l'oggetto VM.Use Get-AzureRmVM to get the VM object. Eseguire Update-AzureRmVM per applicare le modifiche della configurazione alla macchina virtuale.Run Update-AzureRmVM to apply the configuration changes to the VM.
Aggiungere un'estensione a una macchina virtualeAdd an extension to a VM Set-AzureRmVMExtension -ResourceGroupName $myResourceGroup -Location $location -VMName $myVM -Name "extensionName" -Publisher "publisherName" -Type "extensionType" -TypeHandlerVersion "#.#" -Settings $Settings -ProtectedSettings $ProtectedSettingsSet-AzureRmVMExtension -ResourceGroupName $myResourceGroup -Location $location -VMName $myVM -Name "extensionName" -Publisher "publisherName" -Type "extensionType" -TypeHandlerVersion "#.#" -Settings $Settings -ProtectedSettings $ProtectedSettings

Eseguire questo comando con le informazioni di configurazione appropriate per l'estensione da installare.Run this command with the appropriate configuration information for the extension that you want to install.
Rimuovere un'estensione di macchina virtualeRemove a VM extension Remove-AzureRmVMExtension -ResourceGroupName $myResourceGroup -Name "extensionName" -VMName $myVMRemove-AzureRmVMExtension -ResourceGroupName $myResourceGroup -Name "extensionName" -VMName $myVM

Passaggi successiviNext steps