Übung: Erstellen und Speichern von Skripts in Azure PowerShell

Abgeschlossen

In dieser Lerneinheit verwenden Sie das Beispiel eines Unternehmens, das Linux-Verwaltungstools herstellt. Wie bereits besprochen planen Sie, Linux-VMs zu verwenden, um potenzielle Kunden Ihre Software testen zu lassen. Eine Ressourcengruppe steht bereit, und nun ist es an der Zeit, die VMs zu erstellen.

Ihr Unternehmen hat einen Stand auf einer großen Linux-Messe gebucht. Sie planen einen Demobereich mit drei Terminals, die jeweils an eine separate Linux-VM angeschlossen sind. Sie möchten die VMs am Ende jedes Tages löschen und neu erstellen, damit sie jeden Morgen neu starten können. Das manuelle Erstellen der VMs nach der Arbeit, wenn Sie erschöpft sind, wäre zu fehleranfällig. Sie möchten ein PowerShell-Skript schreiben, um die Erstellung der VMs zu automatisieren.

Schreiben eines Skripts zum Erstellen von virtuellen Computern

Gehen Sie in Cloud Shell auf der rechten Seite wie folgt vor, um das Skript zu schreiben:

  1. Wechseln Sie in Cloud Shell zu Ihrem Stammordner.

    cd $HOME\clouddrive
    
  2. Erstellen Sie eine neue Textdatei mit dem Namen ConferenceDailyReset.ps1.

    touch "./ConferenceDailyReset.ps1"
    
  3. Öffnen Sie den integrierten Editor, und wählen Sie die Datei ConferenceDailyReset.ps1 aus.

    code "./ConferenceDailyReset.ps1"
    

    Tipp

    Die integrierte Cloud Shell-Instanz unterstützt auch Vim, Nano und Emacs, falls Sie lieber einen dieser Editoren verwenden möchten.

  4. Erfassen Sie zunächst die Eingabeparameter in einer Variablen. Fügen Sie Ihrem Skript die folgende Zeile hinzu.

    param([string]$resourceGroup)
    

    Hinweis

    Normalerweise müssen Sie sich bei Azure unter Verwendung von Connect-AzAccount mit Ihren Anmeldeinformationen authentifizieren, was über das Skript erfolgen kann. Sie sind in der Cloud Shell-Umgebung jedoch bereits authentifiziert, daher ist dieser Schritt nicht erforderlich.

  5. Fordern Sie zur Eingabe eines Benutzernamens und Kennworts für das Administratorkonto des virtuellen Computers auf, und erfassen Sie das Ergebnis in einer Variablen:

    $adminCredential = Get-Credential -Message "Enter a username and password for the VM administrator."
    
  6. Erstellen Sie eine Schleife, die dreimal ausgeführt wird:

    For ($i = 1; $i -le 3; $i++) 
    {
    
    }
    
  7. Erstellen Sie im Schleifentext einen Namen für jeden virtuellen Computer, speichern Sie ihn in einer Variablen, und geben Sie ihn in der Konsole aus:

    $vmName = "ConferenceDemo" + $i
    Write-Host "Creating VM: " $vmName
    
  8. Erstellen Sie als Nächstes einen virtuellen Computer unter Verwendung der Variablen $vmName:

    New-AzVm -ResourceGroupName $resourceGroup -Name $vmName -Credential $adminCredential -Image Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest
    
  9. Speichern Sie die Datei. Sie können das Menü „...“ rechts oben im Editor verwenden. Es gibt auch gängige Tastenkombinationen zum Speichern, z. B. STRG + S.

Das fertige Skript sollte wie der folgende Code aussehen:

param([string]$resourceGroup)

$adminCredential = Get-Credential -Message "Enter a username and password for the VM administrator."

For ($i = 1; $i -le 3; $i++)
{
    $vmName = "ConferenceDemo" + $i
    Write-Host "Creating VM: " $vmName
    New-AzVm -ResourceGroupName $resourceGroup -Name $vmName -Credential $adminCredential -Image Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest
}

Ausführen des Skripts

  1. Speichern Sie die Datei, und schließen Sie den Editor mithilfe des Kontextmenüs „...“ oben rechts im Editor (oder drücken Sie die Tastenkombination STRG + Q).

  2. Führen Sie das Skript aus.

    ./ConferenceDailyReset.ps1 <rgn>[sandbox resource group name]</rgn>
    

    Die Skriptausführung dauert ein paar Minuten. Vergewissern Sie sich anschließend, dass es erfolgreich ausgeführt wurde, indem Sie sich die Ressourcen ansehen, über die Sie jetzt in Ihrer Ressourcengruppe verfügen:

    Get-AzResource -ResourceType Microsoft.Compute/virtualMachines
    

Sie sollten über drei virtuelle Computer mit jeweils eindeutigem Namen verfügen.

Sie haben ein Skript geschrieben, das die Erstellung dreier virtueller Computer in der durch einen Skriptparameter angegebenen Ressourcengruppe automatisiert. Das Skript ist kurz und einfach, es automatisiert jedoch einen Prozess, der bei manueller Ausführung mit dem Azure-Portal viel Zeit in Anspruch nehmen würde.