Erstellen von virtuellen Computern mit Azure PowerShell
In diesem Tutorial lernen Sie alle Schritte kennen, die beim Einrichten eines virtuellen Computers mit Azure PowerShell ausgeführt werden müssen. Dieses Tutorial behandelt außerdem Ausgabeabfragen, die erneute Verwendung von Azure-Ressourcen und die Ressourcenbereinigung.
Dieses Tutorial kann über die interaktive Benutzeroberfläche von Azure Cloud Shell abgeschlossen werden. Alternativ können Sie lokal Azure PowerShell installieren.
Verwenden Sie STRG+UMSCHALT+V (unter macOS: CMD+UMSCHALT+V), um Tutorialtext in Azure Cloud Shell einzufügen.
Anmelden
Wenn Sie eine lokale Installation von Azure PowerShell verwenden, müssen Sie sich anmelden, bevor Sie weitere Schritte ausführen.
Connect-AzAccount
Schließen Sie den Anmeldevorgang ab, indem Sie die auf Ihrem Terminal angezeigten Schritte ausführen.
Erstellen einer Ressourcengruppe
In Azure werden alle Ressourcen in einer Ressourcenverwaltungsgruppe zugeordnet. Mit Ressourcengruppen können logische Gruppierungen von Ressourcen bereitgestellt werden, sodass diese einfacher als Sammlung verwendet werden können.
Im Rahmen dieses Tutorials werden alle erstellten Ressourcen in einer Gruppe namens TutorialResources
zusammengefasst.
New-AzResourceGroup -Name TutorialResources -Location eastus
ResourceGroupName : TutorialResources
Location : eastus
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources
Erstellen von Administratoranmeldeinformationen für den virtuellen Computer
Bevor Sie einen neuen virtuellen Computer erstellen können, müssen Sie ein Anmeldeinformationsobjekt mit dem Benutzernamen und Kennwort für das Administratorkonto des virtuellen Windows-Computers erstellen.
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
Geben Sie bei entsprechender Aufforderung den Benutzernamen und das Kennwort ein. Das Objekt für die Anmeldeinformationen wird im nächsten Schritt als Parameter übergeben.
Windows PowerShell credential request.
Enter a username and password for the virtual machine.
User: tutorAdmin
Password for user tutorAdmin: *********
Erstellen einer VM
Virtuelle Computer in Azure besitzen eine große Anzahl von Abhängigkeiten. Azure PowerShell erstellt diese Ressourcen auf der Grundlage der von Ihnen angegebenen Befehlszeilenargumente für Sie. Zur besseren Lesbarkeit verwenden wir die PowerShell-Verteilung, um Parameter an die Azure PowerShell-Cmdlets zu übergeben.
Erstellen Sie einen neuen virtuellen Computer unter Windows.
$vmParams = @{
ResourceGroupName = 'TutorialResources'
Name = 'TutorialVM1'
Location = 'eastus'
ImageName = 'Win2016Datacenter'
PublicIpAddressName = 'tutorialPublicIp'
Credential = $cred
OpenPorts = 3389
Size = 'Standard_D2s_v3'
}
$newVM1 = New-AzVM @vmParams
Bei der Erstellung des virtuellen Computers werden die verwendeten Parameterwerte und die erstellten Azure-Ressourcen angezeigt. PowerShell zeigt eine Statusanzeige an, wie nachfolgend dargestellt:
Creating Azure resources
39% \
[ooooooooooooooooooooooooooooooooooo ]
Creating TutorialVM1 virtual machine.
Sobald der virtuelle Computer bereit ist, können wir die Ergebnisse im Azure-Portal oder durch Überprüfen der Variablen $newVM1
anzeigen.
$newVM1
ResourceGroupName : TutorialResources
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources/providers/Microsoft.Compute/virtualMachines/TutorialVM1
VmId : 00000000-0000-0000-0000-000000000000
Name : TutorialVM1
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
In geschweiften Klammern aufgeführte Eigenschaftswerte sind geschachtelte Objekte. Im nächsten Schritt wird gezeigt, wie Sie bestimmte Werte in diesen geschachtelten Objekten anzeigen.
Abrufen von Informationen zum virtuellen Computer mit Abfragen
Wir rufen nun ausführlichere Informationen zum soeben erstellten virtuellen Computer ab. In diesem Beispiel überprüfen wir den Namen des virtuellen Computers und des Administratorkontos, den bzw. das wir erstellt haben.
$newVM1.OSProfile | Select-Object -Property ComputerName, AdminUserName
ComputerName AdminUsername
------------ -------------
TutorialVM1 tutorialAdmin
Wir können andere Azure PowerShell-Befehle verwenden, um spezifische Informationen zur Netzwerkkonfiguration abzurufen.
$newVM1 | Get-AzNetworkInterface |
Select-Object -ExpandProperty IpConfigurations |
Select-Object -Property Name, PrivateIpAddress
In diesem Beispiel verwenden wir die PowerShell-Pipeline, um das $newVM1-Objekt an das Cmdlet Get-AzNetworkInterface
zu senden. Im resultierenden Netzwerkschnittstellenobjekt wählen wir das geschachtelte Objekt „IpConfigurations“ aus. Im Objekt „IpConfigurations“ wählen wir die Eigenschaften „Name“ und „PrivateIpAddress“ aus.
Name PrivateIpAddress
---- ----------------
TutorialVM1 192.168.1.4
Um zu überprüfen, ob der virtuelle Computer ausgeführt wird, müssen wir eine Verbindung über Remotedesktop herstellen. Dazu müssen wir die öffentliche IP-Adresse kennen.
$publicIp = Get-AzPublicIpAddress -Name tutorialPublicIp -ResourceGroupName TutorialResources
$publicIp |
Select-Object -Property Name, IpAddress, @{label='FQDN';expression={$_.DnsSettings.Fqdn}}
In diesem Beispiel verwenden wir Get-AzPublicIpAddress
und speichern die Ergebnisse in der Variablen $publicIp
. In dieser Variablen wählen wir Eigenschaften aus und verwenden einen Ausdruck zum Abrufen der geschachtelten Eigenschaft „Fqdn“.
Name IpAddress FQDN
---- --------- ----
tutorialPublicIp <PUBLIC_IP_ADDRESS> tutorialvm1-8a0999.eastus.cloudapp.azure.com
Auf Ihrem lokalen Computer können Sie den folgenden Befehl ausführen, um über Remotedesktop eine Verbindung mit dem virtuellen Computer herzustellen.
mstsc.exe /v $publicIp.IpAddress
Weitere Informationen zum Abfragen von Objekteigenschaften finden Sie unter Querying for Azure resources (Abfragen von Azure-Ressourcen).
Erstellen eines neuen virtuellen Computers im vorhandenen Subnetz
Der zweite virtuelle Computer verwendet das vorhandene Subnetz.
$vm2Params = @{
ResourceGroupName = 'TutorialResources'
Name = 'TutorialVM2'
ImageName = 'Win2016Datacenter'
VirtualNetworkName = 'TutorialVM1'
SubnetName = 'TutorialVM1'
PublicIpAddressName = 'tutorialPublicIp2'
Credential = $cred
OpenPorts = 3389
}
$newVM2 = New-AzVM @vm2Params
$newVM2
ResourceGroupName : TutorialResources
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources/providers/Microsoft.Compute/virtualMachines/TutorialVM2
VmId : 00000000-0000-0000-0000-000000000000
Name : TutorialVM2
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : tutorialvm2-dfa5af.eastus.cloudapp.azure.com
Sie können einige Schritte überspringen, um die öffentliche IP-Adresse des neuen virtuellen Computers abzurufen, da sie in der Eigenschaft „FullyQualifiedDomainName“ des Objekts $newVM2
zurückgegeben wird. Stellen Sie mit dem folgenden Befehl eine Verbindung über Remotedesktop her:
mstsc.exe /v $newVM2.FullyQualifiedDomainName
Bereinigen
Das Tutorial ist abgeschlossen, und Sie sollten nun die erstellten Ressourcen bereinigen. Sie können mit dem Befehl Remove-AzResource
einzelne Ressourcen löschen. Die sicherste Methode zum Entfernen aller Ressourcen in einer Ressourcengruppe ist jedoch das Löschen der Gruppe mithilfe des Befehls Remove-AzResourceGroup
.
$job = Remove-AzResourceGroup -Name TutorialResources -Force -AsJob
$job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Long Running... AzureLongRun... Running True localhost Remove-AzResource...
Mit diesem Befehl werden die während des Tutorials erstellten Ressourcen gelöscht, und ihre Zuordnung wird garantiert in der richtigen Reihenfolge aufgehoben. Der Parameter AsJob
verhindert eine Blockierung durch PowerShell, während der Löschvorgang ausgeführt wird. Verwenden Sie den folgenden Befehl, um zu warten, bis der Löschvorgang abgeschlossen ist:
Wait-Job -Id $job.Id
Nach der Bereinigung ist das Tutorial abgeschlossen. Lesen Sie weiter, um eine Zusammenfassung der gelernten Inhalte sowie Links zu Ressourcen anzuzeigen, die Sie bei den nächsten Schritten unterstützen.
Zusammenfassung
Glückwunsch! Sie haben gelernt, wie Sie virtuelle Computer mit neuen oder vorhandenen Ressourcen erstellen, haben Ausdrücke und andere Azure PowerShell-Befehle zum Erfassen von Daten verwendet, die in Shellvariablen gespeichert werden, und einige der Ressourcen kennengelernt, die für virtuelle Azure-Computer erstellt werden.
Wie es weitergeht, hängt davon ab, wie Sie Azure PowerShell verwenden möchten. Es gibt zahlreiche Dokumente, in denen die in diesem Tutorial behandelten Features ausführlicher erläutert werden.
Ausführliche Azure PowerShell-Dokumentation
Unter Umständen möchten Sie sich die vollständige Azure PowerShell-Dokumentation genauer ansehen.
Weitere Informationen zu den in diesem Tutorial verwendeten Befehlen finden Sie in den folgenden Artikeln:
- New-AzResourceGroup
- Get-Credential
- New-AzVM
- Select-Object
- Get-AzPublicIpAddress
- Remove-AzResourceGroup
- Wait-Job
Es gibt außerdem Artikel, in denen die in diesem Tutorial gezeigten Features ausführlicher beschrieben werden.
Beispielskripts
Wenn Sie direkt mit bestimmten Aufgaben loslegen möchten, sehen Sie sich ein paar Beispielskripts an.
Feedback
Wenn Sie Feedback oder Vorschläge senden oder Fragen stellen möchten, gibt es verschiedene Möglichkeiten zur Kontaktaufnahme.
Send-Feedback
ist ein integrierter Befehl für Azure PowerShell, der die Übermittlung von Feedback in Freiform an das Team ermöglicht.- Reichen Sie eine Featureanforderung oder einen Fehlerbericht im Azure PowerShell-Repository ein.
- Stellen Sie eine Frage, oder erhalten Sie ausführlichere Informationen, indem Sie ein Problem im Azure PowerShell-Dokumentationsrepository melden.
Wir hoffen, dass Sie mit Azure PowerShell zufrieden sind.
Liegt ein Problem mit diesem Abschnitt vor? Wenn ja, senden Sie uns Feedback, damit wir den Abschnitt verbessern können.