Tutorial: Erstellen eines benutzerdefinierten Images eines virtuellen Azure-Computers mit Azure PowerShellTutorial: Create a custom image of an Azure VM with Azure PowerShell

Benutzerdefinierte Images sind wie Marketplace-Images, Sie erstellen sie jedoch selbst.Custom images are like marketplace images, but you create them yourself. Benutzerdefinierte Images können für das Bootstrapping von Bereitstellungen verwendet werden und sorgen für VM-übergreifende Konsistenz.Custom images can be used to bootstrap deployments and ensure consistency across multiple VMs. In diesem Tutorial erstellen Sie mithilfe von PowerShell ein eigenes benutzerdefiniertes Image eines virtuellen Azure-Computers.In this tutorial, you create your own custom image of an Azure virtual machine using PowerShell. Folgendes wird vermittelt:You learn how to:

  • Sysprep und Generalisieren virtueller ComputerSysprep and generalize VMs
  • Erstellen eines benutzerdefinierten ImagesCreate a custom image
  • Erstellen eines virtuellen Computers aus einem benutzerdefinierten ImageCreate a VM from a custom image
  • Liste aller Images in Ihrem AbonnementList all the images in your subscription
  • Löschen eines ImagesDelete an image

In der öffentlichen Vorschauversion ist der Dienst Azure VM Image Builder verfügbar.In public preview, we have the Azure VM Image Builder service. Beschreiben Sie einfach Ihre Anpassungen in einer Vorlage, und diese übernimmt die Schritte zur Imageerstellung in diesem Artikel.Simply describe your customizations in a template, and it will handle the image creation steps in this article. Probieren Sie Azure Image Builder (Vorschau) aus.Try Azure Image Builder (preview).

VoraussetzungenBefore you begin

In den folgenden Schritten wird erläutert, wie Sie eine vorhandene VM in ein wiederverwendbares benutzerdefiniertes Image umwandeln, mit dem Sie neue VM-Instanzen erstellen können.The steps below detail how to take an existing VM and turn it into a re-usable custom image that you can use to create new VM instances.

Für das Beispiel in diesem Tutorial muss ein virtueller Computer vorhanden sein.To complete the example in this tutorial, you must have an existing virtual machine. Gegebenenfalls können Sie mit diesem Beispielskript einen virtuellen Computer erstellen.If needed, this script sample can create one for you. Ersetzen Sie beim Durcharbeiten des Tutorials bei Bedarf den Namen der Ressourcengruppe und des virtuellen Computers.When working through the tutorial, replace the resource group and VM names where needed.

Starten von Azure Cloud ShellLaunch Azure Cloud Shell

Azure Cloud Shell ist eine kostenlose interaktive Shell, mit der Sie die Schritte in diesem Artikel ausführen können.The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. Sie verfügt über allgemeine vorinstallierte Tools und ist für die Verwendung mit Ihrem Konto konfiguriert.It has common Azure tools preinstalled and configured to use with your account.

Wählen Sie zum Öffnen von Cloud Shell oben rechts in einem Codeblock einfach die Option Ausprobieren.To open the Cloud Shell, just select Try it from the upper right corner of a code block. Sie können Cloud Shell auch auf einer separaten Browserregisterkarte starten, indem Sie zu https://shell.azure.com/powershell navigieren.You can also launch Cloud Shell in a separate browser tab by going to https://shell.azure.com/powershell. Wählen Sie Kopieren, um die Blöcke mit dem Code zu kopieren. Fügen Sie ihn anschließend in Cloud Shell ein, und drücken Sie die EINGABETASTE, um ihn auszuführen.Select Copy to copy the blocks of code, paste it into the Cloud Shell, and press enter to run it.

Vorbereiten der VMPrepare VM

Wenn Sie ein Image eines virtuellen Computers erstellen möchten, müssen Sie den virtuellen Quellcomputer vorbereiten, indem Sie ihn generalisieren, die Zuordnung aufheben und ihn dann mit Azure als generalisiert markieren.To create an image of a virtual machine, you need to prepare the source VM by generalizing it, deallocating, and then marking it as generalized with Azure.

Generalisieren der Windows-VM mithilfe von SysprepGeneralize the Windows VM using Sysprep

Sysprep entfernt unter anderem alle persönlichen Kontoinformationen, und bereitet den Computer darauf vor, als Image verwendet zu werden.Sysprep removes all your personal account information, among other things, and prepares the machine to be used as an image. Weitere Informationen zu Sysprep finden Sie unter How to Use Sysprep: An Introduction (Verwenden von Sysprep: Eine Einführung).For details about Sysprep, see How to Use Sysprep: An Introduction.

  1. Stellen Sie eine Verbindung mit dem virtuellen Computer her.Connect to the virtual machine.
  2. Öffnen Sie das Eingabeaufforderungsfenster als Administrator.Open the Command Prompt window as an administrator. Wechseln Sie in das Verzeichnis %windir%\system32\sysprep, und führen Sie anschließend sysprep.exe aus.Change the directory to %windir%\system32\sysprep, and then run sysprep.exe.
  3. Wählen Sie unter Systemvorbereitungsprogramm die Option Out-of-Box-Experience (OOBE) für System aktivieren, und vergewissern Sie sich, dass das Kontrollkästchen Verallgemeinern aktiviert ist.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. Wählen Sie unter Optionen für Herunterfahren die Option Herunterfahren aus, und klicken Sie auf OK.In Shutdown Options, select Shutdown and then click OK.
  5. Nach Abschluss von Sysprep wird die virtuelle Maschine heruntergefahren.When Sysprep completes, it shuts down the virtual machine. Starten Sie den virtuellen Computer nicht neu.Do not restart the VM.

Aufheben der Zuordnung und Markieren des virtuellen Computers als generalisiertDeallocate and mark the VM as generalized

Um ein Image zu erstellen, muss die Zuordnung des virtuellen Computers aufgehoben werden, und er muss in Azure als generalisiert markiert werden.To create an image, the VM needs to be deallocated and marked as generalized in Azure.

Heben Sie mit Stop-AzVM die Zuordnung des virtuellen Computers auf.Deallocate the VM using Stop-AzVM.

Stop-AzVM `
   -ResourceGroupName myResourceGroup `
   -Name myVM -Force

Legen Sie mithilfe von Set-AzVm den Status des virtuellen Computers auf -Generalized fest.Set the status of the virtual machine to -Generalized using Set-AzVm.

Set-AzVM `
   -ResourceGroupName myResourceGroup `
   -Name myVM -Generalized

Erstellen des ImagesCreate the image

Nun können Sie mit New-AzImageConfig und New-AzImage ein Image des virtuellen Computers erstellen.Now you can create an image of the VM by using New-AzImageConfig and New-AzImage. Im folgenden Beispiel wird ein Image mit dem Namen myImage vom virtuellen Computer myVM erstellt.The following example creates an image named myImage from a VM named myVM.

Rufen Sie den virtuellen Computer ab.Get the virtual machine.

$vm = Get-AzVM `
   -Name myVM `
   -ResourceGroupName myResourceGroup

Erstellen Sie die Imagekonfiguration.Create the image configuration.

$image = New-AzImageConfig `
   -Location EastUS `
   -SourceVirtualMachineId $vm.ID 

Erstellen Sie das Image.Create the image.

New-AzImage `
   -Image $image `
   -ImageName myImage `
   -ResourceGroupName myResourceGroup

Erstellen von VMs anhand des ImagesCreate VMs from the image

Nachdem Sie ein Image erstellt haben, können Sie anhand des Images eine oder mehrere neue VMs erstellen.Now that you have an image, you can create one or more new VMs from the image. Das Erstellen einer VM anhand eines benutzerdefinierten Images ist vergleichbar mit dem Erstellen einer VM mithilfe eines Marketplace-Images.Creating a VM from a custom image is similar to creating a VM using a Marketplace image. Wenn Sie ein Marketplace-Image verwenden, müssen Sie Informationen zum Image, zu dessen Anbieter, zum Angebot, zur SKU und Version bereitstellen.When you use a Marketplace image, you have to provide the information about the image, image provider, offer, SKU, and version. Mit dem vereinfachten Parametersatz für das Cmdlet New-AzVM müssen Sie nur den Namen des benutzerdefinierten Images angeben (vorausgesetzt, es befindet sich in der gleichen Ressourcengruppe).Using the simplified parameter set for the New-AzVM cmdlet, you just need to provide the name of the custom image as long as it is in the same resource group.

Dieses Beispiel erstellt auf der Grundlage des Images myImage einen virtuellen Computer namens myVMfromImage in myResourceGroup.This example creates a VM named myVMfromImage from the myImage image, in myResourceGroup.

New-AzVm `
    -ResourceGroupName "myResourceGroup" `
    -Name "myVMfromImage" `
    -ImageName "myImage" `
    -Location "East US" `
    -VirtualNetworkName "myImageVnet" `
    -SubnetName "myImageSubnet" `
    -SecurityGroupName "myImageNSG" `
    -PublicIpAddressName "myImagePIP" `
    -OpenPorts 3389

Es wird empfohlen, die Anzahl gleichzeitiger Bereitstellungen auf der Grundlage eines einzelnen Images auf 20 virtuelle Computer zu beschränken.We recommend that you limit the number of concurrent deployments to 20 VMs from a single image. Falls Sie umfangreiche gleichzeitige Bereitstellungen von 20 virtuellen Computern auf der Grundlage desselben benutzerdefinierten Images planen, sollten Sie eine Shared Image Gallery-Instanz mit mehreren Imagereplikaten verwenden.If you are planning large-scale, concurrent deployments of over 20 VMs from the same custom image, you should use a Shared Image Gallery with multiple image replicas.

Verwaltung von ImagesImage management

Hier sind einige Beispiele für allgemeine Aufgaben des verwalteten Images und ihre Ausführung mithilfe von PowerShell.Here are some examples of common managed image tasks and how to complete them using PowerShell.

Auflisten aller Images nach Namen.List all images by name.

$images = Get-AzResource -ResourceType Microsoft.Compute/images 
$images.name

Löschen eines Images.Delete an image. Dieses Beispiel löscht das Image mit dem Namen myImage aus myResourceGroup.This example deletes the image named myImage from the myResourceGroup.

Remove-AzImage `
    -ImageName myImage `
    -ResourceGroupName myResourceGroup

Nächste SchritteNext steps

In diesem Tutorial haben Sie ein benutzerdefiniertes Image eines virtuellen Computers erstellt.In this tutorial, you created a custom VM image. Es wurde Folgendes vermittelt:You learned how to:

  • Sysprep und Generalisieren virtueller ComputerSysprep and generalize VMs
  • Erstellen eines benutzerdefinierten ImagesCreate a custom image
  • Erstellen eines virtuellen Computers aus einem benutzerdefinierten ImageCreate a VM from a custom image
  • Liste aller Images in Ihrem AbonnementList all the images in your subscription
  • Löschen eines ImagesDelete an image

Im nächsten Tutorial erhalten Sie Informationen zum Erstellen hoch verfügbarer virtueller Computer.Advance to the next tutorial to learn about how to create highly available virtual machines.