Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln visar hur du kan använda PowerShell- eller Azure CLI-kommandon för att skripta eller automatisera start eller stopp för virtuella Azure DevTest Labs-datorer. Du kan till exempel använda start- eller stoppkommandon för att:
- Testa ett program med tre nivåer där nivåerna måste starta i en sekvens.
- Inaktivera dina virtuella datorer för att spara kostnader när de uppfyller anpassade kriterier.
- Starta och stoppa en virtuell dator när ett ci/CD-arbetsflöde (kontinuerlig integrering och kontinuerlig leverans) börjar och avslutas.
Anmärkning
Du kan också starta, stoppa eller starta om virtuella datorer för DevTest Labs med hjälp av portalen för Azure. Labbadministratörer kan använda portalen för att konfigurera automatisk start och automatisk avstängning scheman och principer för virtuella labbdatorer.
Förutsättningar
- Administratörsåtkomst till en labbdator i DevTest Labs.
- Åtkomst till Azure PowerShell. Du kan använda Azure Cloud Shell PowerShell-miljöneller installera Azure PowerShell för att använda en fysisk eller virtuell dator. Om det behövs kör du
Update-Module -Name Azför att uppdatera installationen.
Starta eller stoppa en virtuell dator
Följande PowerShell-skript startar eller stoppar en virtuell dator i ett labb med hjälp av Invoke-AzResourceAction PowerShell-cmdlet. Parametern ResourceId är det fullständigt kvalificerade ID:t för den virtuella labbdatorn som du vill starta eller stoppa. Parametern Action avgör om den virtuella datorn ska startas eller stoppas, beroende på vilken åtgärd du behöver.
Om du använder Cloud Shell kontrollerar du att den PowerShell- miljön är markerad.
Använd cmdleten PowerShell Connect-AzAccount för att logga in på ditt Azure-konto. Om du har flera Azure-prenumerationer avkommenterar du
Set-AzContextoch anger den<SubscriptionId>du vill använda.$sub = Get-AzSubscription -ErrorAction SilentlyContinue if(-not($sub)) { Connect-AzAccount } # Set-AzContext -SubscriptionId "<Subscription ID>"Ange variabler genom att ange egna värden för
<lab name>,<VM name>och om du villStartellerStopden virtuella datorn.$devTestLabName = "<lab name>" $vMToStart = "<VM name>" $vmAction = "<Start or Stop>"Starta eller stoppa den virtuella datorn baserat på det värde som du skickade till
$vmAction.# Get the lab information $devTestLab = Get-AzResource -ResourceType 'Microsoft.DevTestLab/labs' -ResourceName $devTestLabName # Start or stop the VM and return a succeeded or failed status $returnStatus = Invoke-AzResourceAction ` -ResourceId "$($devTestLab.ResourceId)/virtualmachines/$vMToStart" ` -Action $vmAction ` -Force if ($returnStatus.Status -eq 'Succeeded') { Write-Output "##[section] Successfully updated DTL machine: $vMToStart, Action: $vmAction" } else { Write-Error "##[error] Failed to update DTL machine: $vMToStart, Action: $vmAction" }