Erstellen virtueller Computer mit azure PowerShell
In diesem Lernprogramm lernen Sie alle Schritte zum Einrichten eines virtuellen Computers mit Azure PowerShell kennen. Das Lernprogramm behandelt auch Ausgabeabfragen, Azure-Ressourcenwiederverwendung und Ressourcenbereinigung.
Dieses Lernprogramm kann mit der interaktiven Benutzeroberfläche, die über Azure Cloud Shell angeboten wird, abgeschlossen werden, oder Sie können Azure PowerShell lokal installieren.
Verwenden Sie strg-shift-v (cmd-shift-v unter macOS), um Lernprogrammtext in Azure Cloud Shell einzufügen.
Anmelden
Wenn Sie eine lokale Installation der Azure PowerShell verwenden, müssen Sie sich anmelden, bevor Sie andere Schritte ausführen.
Connect-AzAccount
Führen Sie den Anmeldevorgang aus, indem Sie die in Ihrem Terminal angezeigten Schritte ausführen.
Erstellen einer Ressourcengruppe
In Azure werden alle Ressourcen in einer Ressourcenverwaltungsgruppe zugeordnet. Ressourcengruppen bieten logische Gruppierungen von Ressourcen, mit denen sie einfacher als Sammlung arbeiten können.
In diesem Lernprogramm werden alle erstellten Ressourcen in eine einzelne Gruppe mit dem Namen TutorialResources
eingefügt.
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 erstellen, das den Benutzernamen und das Kennwort für das Administratorkonto der Windows-VM enthält.
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
Geben Sie den Benutzernamen und das Kennwort ein, wenn Sie dazu aufgefordert werden. Das resultierende Anmeldeinformationsobjekt 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 eines virtuellen Computers
Virtuelle Computer in Azure verfügen über eine große Anzahl von Abhängigkeiten. Die Azure PowerShell erstellt diese Ressourcen für Sie basierend auf den von Ihnen angegebenen Befehlszeilenargumenten. Zur Lesbarkeit verwenden wir PowerShell-Splatting, 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
Wie der virtuelle Computer erstellt wird, werden die verwendeten Parameterwerte und azure-Ressourcen angezeigt, die erstellt werden. PowerShell zeigt wie unten dargestellt eine Statusanzeige an.
Creating Azure resources
39% \
[ooooooooooooooooooooooooooooooooooo ]
Creating TutorialVM1 virtual machine.
Sobald der virtuelle Computer fertig ist, können wir die Ergebnisse im Azure-Portal anzeigen oder die $newVM1
Variable überprüfen.
$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}
Eigenschaftswerte, die in geschweiften Klammern aufgelistet sind, sind geschachtelte Objekte. Im nächsten Schritt zeigen wir Ihnen, wie Bestimmte Werte in diesen geschachtelten Objekten angezeigt werden.
Abrufen von VM-Informationen mit Abfragen
Lassen Sie uns einige detailliertere Informationen aus dem virtuellen Computer abrufen, den wir gerade erstellt haben. In diesem Beispiel überprüfen wir den Namen der VM und das von uns erstellte Administratorkonto.
$newVM1.OSProfile | Select-Object -Property ComputerName, AdminUserName
ComputerName AdminUsername
------------ -------------
TutorialVM1 tutorialAdmin
Wir können andere Azure PowerShell-Befehle verwenden, um bestimmte 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 $newVM 1-Objekt an das cmdlet Get-AzNetworkInterface
zu senden. Aus dem resultierenden Netzwerkschnittstellenobjekt wählen wir das geschachtelte IpConfigurations-Objekt aus. Im IpConfigurations-Objekt wählen wir die Eigenschaften Name und PrivateIpAddress aus.
Name PrivateIpAddress
---- ----------------
TutorialVM1 192.168.1.4
Um zu bestätigen, dass der virtuelle Computer ausgeführt wird, müssen wir über Remotedesktop eine Verbindung 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 die Get-AzPublicIpAddress
und speichern die Ergebnisse in der $publicIp
Variablen. Aus dieser Variablen wählen wir Eigenschaften aus und verwenden einen Ausdruck, um die geschachtelte Fqdn-Eigenschaft abzurufen.
Name IpAddress FQDN
---- --------- ----
tutorialPublicIp <PUBLIC_IP_ADDRESS> tutorialvm1-8a0999.eastus.cloudapp.azure.com
Von Ihrem lokalen Computer aus können Sie den folgenden Befehl ausführen, um eine Verbindung mit dem virtuellen Computer über Remotedesktop herzustellen.
mstsc.exe /v $publicIp.IpAddress
Weitere Informationen zum Abfragen von Objekteigenschaften finden Sie unter Abfragen von Azure-Ressourcen.
Erstellen einer neuen VM im vorhandenen Subnetz
Die zweite VM 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 FullyQualifiedDomainName-Eigenschaft des $newVM2
-Objekts zurückgegeben wird. Verwenden Sie den folgenden Befehl, um eine Verbindung mit Remotedesktop herzustellen.
mstsc.exe /v $newVM2.FullyQualifiedDomainName
Säuberungsaktion
Nachdem das Lernprogramm abgeschlossen ist, ist es an der Zeit, die erstellten Ressourcen zu bereinigen. Sie können einzelne Ressourcen mit dem Befehl Remove-AzResource
löschen, aber die sicherste Möglichkeit zum Entfernen aller Ressourcen in einer Ressourcengruppe ist 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 ressourcen gelöscht, die während des Lernprogramms erstellt wurden, und es wird sichergestellt, dass sie in der richtigen Reihenfolge zugeordnet werden. Der parameter AsJob
verhindert, dass PowerShell blockiert wird, während der Löschvorgang stattfindet. Um zu warten, bis der Löschvorgang abgeschlossen ist, verwenden Sie den folgenden Befehl:
Wait-Job -Id $job.Id
Nach Abschluss der Bereinigung ist das Lernprogramm abgeschlossen. Fahren Sie fort, um eine Zusammenfassung aller gelernten Informationen zu erhalten und Links zu Ressourcen zu erhalten, die Ihnen bei den nächsten Schritten helfen.
Zusammenfassung
Glückwunsch! Sie haben erfahren, wie Sie virtuelle Computer mit neuen oder vorhandenen Ressourcen erstellen, Ausdrücke und andere Azure PowerShell-Befehle verwenden, um Daten zu erfassen, die in Shellvariablen gespeichert werden sollen, und einige der Ressourcen, die für Azure-VMs erstellt werden.
Wo Sie von hier aus gehen, hängt davon ab, wie Sie Azure PowerShell verwenden möchten. Es gibt eine Vielzahl von Materialien, die ausführlicher zu den in diesem Lernprogramm behandelten Features gehen.
Ausführliche Dokumentation zu Azure PowerShell
Möglicherweise sollten Sie sich Zeit nehmen, um die vollständige Azure PowerShell-Dokumentation zu erkunden, festgelegt ist.
Weitere Informationen zu den in diesem Lernprogramm verwendeten Befehlen finden Sie in den folgenden Artikeln.
- New-AzResourceGroup
- Get-Credential-
- New-AzVM
- Select-Object-
- Get-AzPublicIpAddress
- Remove-AzResourceGroup
Es gibt auch Artikel, die tiefer in die Features eingehen, die im Lernprogramm gezeigt wurden.
Beispielskripts
Wenn Sie sofort mit bestimmten Aufgaben beginnen möchten, schauen Sie sich einige Beispielskripts an.
Feedback
Wenn Sie Feedback, Vorschläge oder Fragen stellen möchten, gibt es eine Reihe von Möglichkeiten, mit denen Sie in Kontakt treten können.
-
Send-Feedback
ist ein integrierter Befehl für Azure PowerShell, mit dem Sie dem Team freiformfreies Feedback geben können. - Datei einer Featureanforderung oder eines Fehlerberichts im Azure PowerShell-Repository.
- Stellen Sie eine Frage, oder klären Sie sie, indem Sie ein Problem im Azure PowerShell-Dokumentations-Repositoryablegen.
Wir hoffen, dass Sie die Verwendung von Azure PowerShell genießen!
Liegt ein Problem mit diesem Abschnitt vor? Wenn ja, senden Sie uns Feedback, damit wir den Abschnitt verbessern können.
Azure PowerShell