Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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" }