Creare un'immagine gestita di una macchina virtuale generalizzata in AzureCreate a managed image of a generalized VM in Azure

È possibile creare una risorsa immagine gestita da una macchina virtuale generalizzata archiviata come disco gestito o come disco non gestito in un account di archiviazione.A managed image resource can be created from a generalized VM that is stored as either a managed disk or an unmanaged disk in a storage account. L'immagine è quindi utilizzabile per creare più macchine virtuali.The image can then be used to create multiple VMs.

Generalizzare la macchina virtuale Windows con SysprepGeneralize the Windows VM using Sysprep

Sysprep rimuove anche tutte le informazioni sull'account personale e prepara la VM da usare come immagine.Sysprep removes all your personal account information, among other things, and prepares the machine to be used as an image. Per altre informazioni su Sysprep, vedere Come usare Sysprep: Introduzione.For details about Sysprep, see How to Use Sysprep: An Introduction.

Assicurarsi che i ruoli server in esecuzione sulla macchina siano supportati da Sysprep.Make sure the server roles running on the machine are supported by Sysprep. Per ulteriori informazioni, vedere Supporto Sysprep per i ruoli serverFor more information, see Sysprep Support for Server Roles

Importante

Dopo aver eseguito sysprep in una macchina virtuale, quest'ultima viene considerata generalizzata e non può essere riavviata.Once you have run sysprep on an VM it is considered generalized and it cannot be restarted. Il processo di generalizzazione di una macchina virtuale è irreversibile.The process of generalizing a VM is not reversible. Per mantenere in funzionamento la macchina virtuale originale, è consigliabile eseguire una copia della macchina virtuale e generalizzare la copia.If you need to keep the original VM functioning, you should take a copy of the VM and generalize the copy.

Se si esegue Sysprep prima di caricare il disco rigido virtuale in Azure per la prima volta, verificare di aver preparato la VM prima di eseguire Sysprep.If you are running Sysprep before uploading your VHD to Azure for the first time, make sure you have prepared your VM before running Sysprep.

  1. Accedere alla macchina virtuale Windows.Sign in to the Windows virtual machine.
  2. Aprire la finestra del prompt dei comandi come amministratore.Open the Command Prompt window as an administrator. Impostare la directory su %windir%\system32\sysprep, quindi eseguire sysprep.exe.Change the directory to %windir%\system32\sysprep, and then run sysprep.exe.
  3. Nella finestra di dialogo Utilità preparazione sistema selezionare Passare alla Configurazione guidata e verificare che la casella di controllo Generalizza sia selezionata.In the System Preparation Tool dialog box, select Enter System Out-of-Box Experience (OOBE), and make sure that the Generalize check box is selected.
  4. In Opzioni di arresto del sistema selezionare Arresta il sistema.In Shutdown Options, select Shutdown.
  5. Fare clic su OK.Click OK.

    Avvio di Sysprep

  6. Al termine, Sysprep arresta la macchina virtuale.When Sysprep completes, it shuts down the virtual machine. Non riavviare la VM.Do not restart the VM.

Creare un'immagine gestita nel portaleCreate a managed image in the portal

  1. Aprire il portale.Open the portal.
  2. Nel menu a sinistra fare clic su Macchine virtuali e quindi selezionare una VM dall'elenco.In the menu on the left, click Virtual Machines and then select the VM from the list.
  3. Nella pagina della VM scegliere Acquisisci dal menu in alto.In the page for the VM, on the upper menu, click Capture.
  4. In Nome digitare il nome che si vuole usare per l'immagine.In Name, type the name that you would like to use for the image.
  5. In Gruppo di risorse selezionare Crea nuovo e digitare un nome oppure scegliere Usa esistente e selezionare un gruppo di risorse da usare dall'elenco a discesa.In Resource group either select Create new and type in a name, or select Use existing and select a resource group to use from the drop-down list.
  6. Per eliminare la VM di origine dopo che l'immagine è stata creata, selezionare Elimina automaticamente questa macchina virtuale dopo aver creato l'immagine.If you want to delete the source VM after the image has been created, select Automatically delete this virtual machine after creating the image.
  7. Al termine dell'operazione fare clic su Crea.When you are done, click Create.
  8. Dopo avere creato l'immagine, questa verrà visualizzata come risorsa immagine nell'elenco delle risorse nel gruppo di risorse.After the image is created, you will see it as an Image resource in the list of resources in the resource group.

Creare un'immagine di una macchina virtuale tramite PowerShellCreate an image of a VM using Powershell

La creazione di un'immagine direttamente dalla macchina virtuale garantisce che l'immagine includa tutti i dischi associati alla macchina virtuale, tra cui il disco del sistema operativo ed eventuali dischi dati.Creating an image directly from the VM ensures that the image includes all of the disks associated with the VM, including the OS Disk and any data disks. Questo esempio illustra come creare un'immagine gestita da una VM che usa dischi gestiti.This example shows how to create a managed image from a VM that uses managed disks.

Prima di iniziare, verificare di avere la versione più recente del modulo di PowerShell AzureRM.Compute.Before you begin, make sure that you have the latest version of the AzureRM.Compute PowerShell module. Questo articolo richiede il modulo AzureRM 5.7.0 o versioni successive.This article requires the AzureRM module version 5.7.0 or later. Eseguire Get-Module -ListAvailable AzureRM per trovare la versione.Run Get-Module -ListAvailable AzureRM to find the version. Se è necessario eseguire l'aggiornamento, vedere Installare e configurare Azure PowerShell.If you need to upgrade, see Install Azure PowerShell module. Se si esegue PowerShell in locale, è anche necessario eseguire Connect-AzureRmAccount per creare una connessione con Azure.If you are running PowerShell locally, you also need to run Connect-AzureRmAccount to create a connection with Azure.

Nota

Se si vuole archiviare l'immagine in una risorsa di archiviazione resiliente nella zona, è necessario crearla in un'area che supporta le zone di disponibilità e includere il parametro -ZoneResilient nella configurazione dell'immagine.If you would like to store your image in zone-resilient storage, you need to create it in a region that supports availability zones and include the -ZoneResilient parameter in the image configuration.

  1. Creare alcune variabili.Create some variables.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    
  2. Assicurarsi che la macchina virtuale sia stata deallocata.Make sure the VM has been deallocated.

    Stop-AzureRmVM -ResourceGroupName $rgName -Name $vmName -Force
    
  3. Impostare lo stato della macchina virtuale su Generalizzato.Set the status of the virtual machine to Generalized.

    Set-AzureRmVm -ResourceGroupName $rgName -Name $vmName -Generalized
    
  4. Trovare la macchina virtuale.Get the virtual machine.

    $vm = Get-AzureRmVM -Name $vmName -ResourceGroupName $rgName
    
  5. Creare la configurazione dell'immagine.Create the image configuration.

    $image = New-AzureRmImageConfig -Location $location -SourceVirtualMachineId $vm.ID 
    
  6. Creare l'immagine.Create the image.

    New-AzureRmImage -Image $image -ImageName $imageName -ResourceGroupName $rgName
    

    Creare un'immagine da un disco gestito usando PowerShellCreate an image from a managed disk using PowerShell

Se si vuole solo creare un'immagine del disco del sistema operativo, è anche possibile creare un'immagine specificando l'ID del disco gestito come disco del sistema operativo.If you only want to create an image of the OS disk, you can also create an image by specifying the managed disk ID as the OS disk.

  1. Creare alcune variabili.Create some variables.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $snapshotName = "mySnapshot"
    $imageName = "myImage"
    
  2. Ottenere la VM.Get the VM.

    $vm = Get-AzureRmVm -Name $vmName -ResourceGroupName $rgName
    
  3. Ottenere l'ID del disco gestito.Get the ID of the managed disk.

    $diskID = $vm.StorageProfile.OsDisk.ManagedDisk.Id
    
  4. Creare la configurazione dell'immagine.Create the image configuration.

    $imageConfig = New-AzureRmImageConfig -Location $location
    $imageConfig = Set-AzureRmImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -ManagedDiskId $diskID
    
  5. Creare l'immagine.Create the image.

    New-AzureRmImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

Creare un'immagine da uno snapshot usando PowerShellCreate an image from a snapshot using Powershell

È possibile creare un'immagine gestita da uno snapshot di una macchina virtuale generalizzata.You can create a managed image from a snapshot of a generalized VM.

  1. Creare alcune variabili.Create some variables.

    $rgName = "myResourceGroup"
    $location = "EastUS"
    $snapshotName = "mySnapshot"
    $imageName = "myImage"
    
  2. Trovare lo snapshot.Get the snapshot.

    $snapshot = Get-AzureRmSnapshot -ResourceGroupName $rgName -SnapshotName $snapshotName
    
  3. Creare la configurazione dell'immagine.Create the image configuration.

    $imageConfig = New-AzureRmImageConfig -Location $location
    $imageConfig = Set-AzureRmImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -SnapshotId $snapshot.Id
    
  4. Creare l'immagine.Create the image.

    New-AzureRmImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

Creare un'immagine da un disco rigido virtuale in un account di archiviazioneCreate image from a VHD in a storage account

Creare un'immagine gestita da un disco rigido virtuale del sistema operativo generalizzato in un account di archiviazione.Create a managed image from a generalized OS VHD in a storage account. È necessario l'URI del disco rigido virtuale nell'account di archiviazione, che presenta il formato https://mystorageaccount.blob.core.windows.net/contenitore/nomefile_vhd.vhd.You need the URI of the VHD in the storage account, which is in the format https://mystorageaccount.blob.core.windows.net/container/vhd_filename.vhd. In questo esempio il disco rigido virtuale usato è in mystorageaccount in un contenitore denominato vhdcontainer e il nome file del disco rigido virtuale è osdisk.vhd.In this example, the VHD that we are using is in mystorageaccount in a container named vhdcontainer and the VHD filename is osdisk.vhd.

  1. Innanzitutto, impostare i parametri comuni:First, set the common parameters:

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    $osVhdUri = "https://mystorageaccount.blob.core.windows.net/vhdcontainer/osdisk.vhd"
    
  2. Arrestare/deallocare la macchina virtuale.Step\deallocate the VM.

    Stop-AzureRmVM -ResourceGroupName $rgName -Name $vmName -Force
    
  3. Contrassegnare la macchina virtuale come generalizzata.Mark the VM as generalized.

    Set-AzureRmVm -ResourceGroupName $rgName -Name $vmName -Generalized 
    
  4. Creare un'immagine tramite il disco rigido virtuale del sistema operativo generalizzato.Create the image using your generalized OS VHD.

    $imageConfig = New-AzureRmImageConfig -Location $location
    $imageConfig = Set-AzureRmImageOsDisk -Image $imageConfig -OsType Windows -OsState Generalized -BlobUri $osVhdUri
    $image = New-AzureRmImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

Passaggi successiviNext steps