Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt beschreven hoe u PowerShell- of Azure CLI-opdrachten kunt gebruiken om het starten of stoppen van azure DevTest Labs-VM's te scripten of te automatiseren. U kunt bijvoorbeeld start- of stopopdrachten gebruiken om het volgende te doen:
- Test een driedelige toepassing waarin de lagen in een bepaalde volgorde opgestart moeten worden.
- Schakel uw VM's uit om kosten te besparen wanneer ze voldoen aan aangepaste criteria.
- Start en stop een VM wanneer een CI/CD-werkstroom (continue integratie en continue levering) begint en eindigt.
Opmerking
U kunt ook DevTest Labs-VM's starten, stoppen of opnieuw starten met behulp van Azure Portal. Labbeheerders kunnen de portal gebruiken om automatische opstart- en automatische afsluitschema's en beleidsregels voor lab-VM's te configureren.
Vereiste voorwaarden
- Beheerderstoegang tot een lab-VM in DevTest Labs.
- Toegang tot Azure PowerShell. U kunt de Azure Cloud Shell PowerShell-omgeving gebruiken of Azure PowerShell installeren om een fysieke of virtuele machine te gebruiken. Voer indien nodig uit
Update-Module -Name Azom uw installatie bij te werken.
Een VM starten of stoppen
Het volgende PowerShell-script start of stopt een VIRTUELE machine in een lab met behulp van de PowerShell-cmdlet Invoke-AzResourceAction . De ResourceId parameter is de volledig gekwalificeerde id voor de lab-VM die u wilt starten of stoppen. De Action parameter bepaalt of de virtuele machine moet worden gestart of gestopt, afhankelijk van welke actie u nodig hebt.
Als u Cloud Shell gebruikt, controleert u of de PowerShell-omgeving is geselecteerd.
Gebruik de Cmdlet PowerShell Connect-AzAccount om u aan te melden bij uw Azure-account. Als u meerdere Azure-abonnementen hebt, haalt u het commentaar weg bij
Set-AzContexten geeft u de<SubscriptionId>op die u wilt gebruiken.$sub = Get-AzSubscription -ErrorAction SilentlyContinue if(-not($sub)) { Connect-AzAccount } # Set-AzContext -SubscriptionId "<Subscription ID>"Stel variabelen in door uw eigen waarden op te geven voor
<lab name>,<VM name>, en of u de virtuele machine wiltStartofStop.$devTestLabName = "<lab name>" $vMToStart = "<VM name>" $vmAction = "<Start or Stop>"Start of stop de VM op basis van de door u
$vmActiondoorgegeven waarde.# 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" }