Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
En este artículo se muestra cómo puede usar los comandos de PowerShell o la CLI de Azure para generar scripts o automatizar el inicio o la detención de máquinas virtuales de Azure DevTest Labs. Por ejemplo, puede usar comandos start o stop para:
- Pruebe una aplicación de tres niveles donde los niveles deben iniciarse en una secuencia.
- Desactive las máquinas virtuales para ahorrar costos cuando cumplan los criterios personalizados.
- Inicie y detenga una máquina virtual cuando comience y finalice un flujo de trabajo de integración continua y entrega continua (CI/CD).
Nota:
También puede iniciar, detener o reiniciar máquinas virtuales de DevTest Labs mediante Azure Portal. Los administradores de laboratorio pueden usar el portal para configurar programaciones y directivas de apagado automático y de inicio automático para máquinas virtuales de laboratorio.
Prerrequisitos
- Acceso de administrador a una máquina virtual de laboratorio en DevTest Labs.
- Acceso a Azure PowerShell. Puede usar el entorno de PowerShell de Azure Cloud Shell o instalar Azure PowerShell para usar una máquina física o virtual. Si es necesario, ejecute
Update-Module -Name Azpara actualizar la instalación.
Iniciar o detener una máquina virtual
El siguiente script de PowerShell inicia o detiene una máquina virtual en un laboratorio mediante el cmdlet Invoke-AzResourceAction de PowerShell. El ResourceId parámetro es el identificador completo de la máquina virtual de laboratorio que desea iniciar o detener. El Action parámetro determina si se debe iniciar o detener la máquina virtual, en función de la acción que necesite.
Si usa Cloud Shell, asegúrese de que está seleccionado el entorno de PowerShell .
Use el cmdlet Connect-AzAccount de PowerShell para iniciar sesión en su cuenta de Azure. Si tiene varias suscripciones de Azure, descomente
Set-AzContexty especifique el<SubscriptionId>que desea usar.$sub = Get-AzSubscription -ErrorAction SilentlyContinue if(-not($sub)) { Connect-AzAccount } # Set-AzContext -SubscriptionId "<Subscription ID>"Establezca variables proporcionando sus propios valores para
<lab name>,<VM name>, y decida siStartoStopla máquina virtual.$devTestLabName = "<lab name>" $vMToStart = "<VM name>" $vmAction = "<Start or Stop>"Inicie o detenga la máquina virtual, en función del valor que ha pasado a
$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" }