Oefening: Scripts maken en opslaan in Azure PowerShell

Voltooid

In deze les gaat u verder met het voorbeeld van een bedrijf dat Linux-beheerhulpprogramma's maakt. U bent van plan virtuele Linux-machines te gebruiken om potentiële klanten uw software te laten testen. U hebt een resourcegroep klaar en nu is het tijd om de VIRTUELE machines te maken.

Uw bedrijf heeft betaald voor een stand op een grote Linux-beurs. U wilt een demoruimte inrichten met drie terminals waarvan elk verbonden is met een afzonderlijke Linux-VM. Aan het einde van elke dag wilt u de VM's verwijderen en deze opnieuw maken, zodat ze elke ochtend vers beginnen. Het handmatig maken van de VM's na het werk wanneer u moe bent, is foutgevoelig. U wilt een PowerShell-script schrijven om het proces voor het maken van vm's te automatiseren.

Een script schrijven om virtuele machines te maken

Volg deze stappen in Cloud Shell aan de rechterkant om het script te schrijven:

  1. Schakel over naar uw basismap in Cloud Shell.

    cd $HOME\clouddrive
    
  2. Maak een nieuw tekstbestand met de naam ConferenceDailyReset.ps1.

    touch "./ConferenceDailyReset.ps1"
    
  3. Open de geïntegreerde editor en selecteer het bestand ConferenceDailyReset.ps1 .

    code "./ConferenceDailyReset.ps1"
    

    Tip

    De geïntegreerde Cloud Shell ondersteunt ook vim, nano en emacs als u liever een van deze editors te gebruikt.

  4. Begin met het vastleggen van de invoerparameter in een variabele. Voeg de volgende regel toe aan uw script.

    param([string]$resourceGroup)
    

    Notitie

    Normaal gesproken moet u zich verifiëren met Azure met behulp van uw referenties Connect-AzAccounten kunt u dit doen in het script. In de Cloud Shell-omgeving bent u echter al geverifieerd, dus dit is niet nodig.

  5. Vraag om een gebruikersnaam en wachtwoord voor het beheerdersaccount van de virtuele machine en leg het resultaat vast in een variabele:

    $adminCredential = Get-Credential -Message "Enter a username and password for the VM administrator."
    
  6. Maak een lus die drie keer wordt uitgevoerd:

    For ($i = 1; $i -le 3; $i++) 
    {
    
    }
    
  7. Maak in de hoofdtekst van de lus een naam voor elke virtuele machine en sla deze op in een variabele en voer deze uit naar de console:

    $vmName = "ConferenceDemo" + $i
    Write-Host "Creating VM: " $vmName
    
  8. Maak vervolgens een virtuele machine met behulp van de variabele $vmName:

    New-AzVm -ResourceGroupName $resourceGroup -Name $vmName -Credential $adminCredential -Image Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest
    
  9. Sla het bestand op. U kunt de "..." in de rechterbovenhoek van de editor. Er zijn ook algemene sneltoetsen voor Opslaan, zoals Ctrl + S.

Het voltooide script moet eruitzien als de volgende code:

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
}

Het script uitvoeren

  1. Sla het bestand op en sluit de editor met behulp van de '...' contextmenu rechtsboven in de editor (of gebruik Ctrl + Q).

  2. Voer het script uit.

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

    Het uitvoeren van het script kan enkele minuten in beslag nemen. Wanneer dit is voltooid, controleert u of deze is uitgevoerd door te kijken naar de resources die u nu in uw resourcegroep hebt:

    Get-AzResource -ResourceType Microsoft.Compute/virtualMachines
    

U moet drie VM's hebben, elk met een unieke naam.

U hebt een script geschreven waarmee het maken van drie virtuele machines in de resourcegroep is geautomatiseerd en wordt aangegeven door een scriptparameter. Het script is kort en eenvoudig, maar automatiseert een proces dat veel tijd kost om handmatig te voltooien met Azure Portal.