Použití příkazového řádku ke spuštění a zastavení virtuálních počítačů DevTest Labs
Tento článek ukazuje, jak spustit nebo zastavit Azure DevTest Labs virtuálních počítačů pomocí Azure PowerShell nebo příkazového řádku a skriptů Azure CLI.
Virtuální počítače DevTest Labs můžete spouštět, zastavovat nebo restartovat pomocí Azure Portal. Pomocí portálu můžete také nakonfigurovat plány automatického spouštění a automatického vypínání a zásady pro virtuální počítače testovacího prostředí.
Pokud chcete skriptovat nebo automatizovat spuštění nebo zastavení virtuálních počítačů testovacího prostředí, použijte příkazy PowerShellu nebo Azure CLI. Příkazy start nebo stop můžete například použít k následujícímu:
- Otestujte třívrstvé aplikace, kde se vrstvy musí spouštět v posloupnosti.
- Vypněte virtuální počítače, abyste ušetřili náklady, když splňují vlastní kritéria.
- Spusťte při zahájení pracovního postupu kontinuální integrace a průběžného doručování (CI/CD) a zastavte, až se dokončí. Příklad tohoto pracovního postupu najdete v tématu Spuštění objektu pro vytváření imagí z Azure DevOps.
Požadavky
- Virtuální počítač testovacího prostředí v DevTest Labs.
- Pro Azure PowerShell je na vaší pracovní stanici nainstalovaný modul Az PowerShell. Ujistěte se, že máte nejnovější verzi. V případě potřeby modul aktualizujte spuštěním příkazu
Update-Module -Name Az
. - Pro Azure CLI je azure CLI nainstalované na pracovní stanici.
Azure PowerShell skript
Následující skript PowerShellu spustí nebo zastaví virtuální počítač v testovacím prostředí pomocí invoke-AzResourceAction. Parametr ResourceId
je plně kvalifikované ID virtuálního počítače testovacího prostředí, který chcete spustit nebo zastavit. Parametr Action
určuje, jestli se má virtuální počítač spustit nebo zastavit, v závislosti na tom, kterou akci potřebujete.
Z pracovní stanice se přihlaste ke svému účtu Azure pomocí rutiny PowerShell Connect-AzAccount . Pokud máte více předplatných Azure, zrušte komentář
Set-AzContext
řádku a vyplňte<Subscription ID>
požadovaný řádek.# Sign in to your Azure subscription $sub = Get-AzSubscription -ErrorAction SilentlyContinue if(-not($sub)) { Connect-AzAccount } # Set-AzContext -SubscriptionId "<Subscription ID>"
Zadejte hodnoty pro
<lab name>
a a<VM name>
a zadejte požadovanou akci pro<Start or Stop>
.$devTestLabName = "<lab name>" $vMToStart = "<VM name>" # The action on the virtual machine (Start or Stop) $vmAction = "<Start or Stop>"
Spusťte nebo zastavte virtuální počítač na základě hodnoty, kterou jste předali do
$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" }
Skript Azure CLI
Následující skript poskytuje příkazy Azure CLI pro spuštění nebo zastavení virtuálního počítače testovacího prostředí. Proměnné v tomto skriptu jsou určené pro prostředí Windows, jako je příkazový řádek. Prostředí Bash nebo jiná prostředí mají mírné odchylky.
Zadejte odpovídající hodnoty pro
<Subscription ID>
,<lab name>
,<VM name>
a akci, která<Start or Stop>
se má provést.set SUBSCRIPTIONID=<Subscription ID> set DEVTESTLABNAME=<lab name> set VMNAME=<VM name> set ACTION=<Start or Stop>
Přihlaste se ke svému účtu Azure. Pokud máte více předplatných Azure, zrušte komentář řádku
az account set
a použijte ID předplatného, které jste zadali.az login REM az account set --subscription %SUBSCRIPTIONID%
Získejte název skupiny prostředků, která obsahuje testovací prostředí.
az resource list --resource-type "Microsoft.DevTestLab/labs" --name %DEVTESTLABNAME% --query "[0].resourceGroup"
Nahraďte
<resourceGroup>
hodnotou, kterou jste získali z předchozího kroku.set RESOURCEGROUP=<resourceGroup>
Spuštěním příkazového řádku spusťte nebo zastavte virtuální počítač na základě hodnoty, kterou jste předali do
ACTION
.az lab vm %ACTION% --lab-name %DEVTESTLABNAME% --name %VMNAME% --resource-group %RESOURCEGROUP%