Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo mostra como você pode usar comandos do PowerShell ou da CLI do Azure para criar scripts ou automatizar o início ou a parada para VMs do Azure DevTest Labs. Por exemplo, você pode usar comandos iniciar ou parar para:
- Teste um aplicativo de três camadas em que as camadas precisam ser iniciadas em uma sequência.
- Desative suas VMs para economizar custos quando atenderem aos critérios personalizados.
- Inicie e interrompa uma VM quando um fluxo de trabalho de CI/CD (integração contínua e entrega contínua) é iniciado e concluído.
Observação
Você também pode iniciar, parar ou reiniciar VMs do DevTest Labs usando o portal do Azure. Os administradores do laboratório podem usar o portal para configurar agendas e políticas de inicialização automática e desligamento automático para VMs de laboratório.
Pré-requisitos
- Acesso de administrador a uma VM de laboratório no DevTest Labs.
- Acesso ao Azure PowerShell. Você pode usar o ambiente do PowerShell do Azure Cloud Shell ou instalar o Azure PowerShell para usar uma máquina física ou virtual. Se necessário, execute
Update-Module -Name Azpara atualizar sua instalação.
Iniciar ou parar uma VM
O script do PowerShell a seguir inicia ou interrompe uma VM em um laboratório usando o cmdlet Invoke-AzResourceAction PowerShell. O ResourceId parâmetro é a ID totalmente qualificada para a VM de laboratório que você deseja iniciar ou parar. O Action parâmetro determina se a VM deve ser iniciada ou interrompida, dependendo de qual ação você precisa.
Se você usar o Cloud Shell, verifique se o ambiente do PowerShell está selecionado.
Use o cmdlet Connect-AzAccount do PowerShell para entrar em sua conta do Azure. Se você tiver várias assinaturas do Azure, descompacte
Set-AzContexte forneça o<SubscriptionId>que deseja usar.$sub = Get-AzSubscription -ErrorAction SilentlyContinue if(-not($sub)) { Connect-AzAccount } # Set-AzContext -SubscriptionId "<Subscription ID>"Defina variáveis fornecendo seus próprios valores para
<lab name>,<VM name>e se forStartouStopa VM.$devTestLabName = "<lab name>" $vMToStart = "<VM name>" $vmAction = "<Start or Stop>"Inicie ou interrompa a VM, com base no valor que você passou para
$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" }