Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo mostra como você pode usar os 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 os comandos start ou stop para:
- Teste um aplicativo de três camadas onde as camadas precisam começar em uma sequência.
- Desative suas VMs para economizar custos quando elas atenderem aos critérios personalizados.
- Inicie e pare uma VM quando um fluxo de trabalho de integração contínua e entrega contínua (CI/CD) começar e terminar. Para obter um exemplo desse fluxo de trabalho, consulte Executar uma fábrica de imagens do Azure DevOps.
Observação
Você também pode iniciar, parar ou reiniciar VMs do DevTest Labs usando o portal do Azure. Os administradores de laboratório podem usar o portal para configurar agendas e políticas de inicialização edesligamento 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 Azure Cloud Shell PowerShell ou instalar o Azure PowerShell para usar uma máquina física ou virtual. Se necessário, execute
Update-Module -Name Az
para atualizar a instalação.
Iniciar ou parar uma VM
O seguinte script do PowerShell inicia ou para 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 da ação necessária.
Se você usa o Cloud Shell, verifique se o ambiente do PowerShell está selecionado.
Use o cmdlet PowerShell Connect-AzAccount para entrar em sua conta do Azure. Se tiveres várias assinaturas do Azure, descomenta
Set-AzContext
e fornece a assinatura que<SubscriptionId>
desejas usar.$sub = Get-AzSubscription -ErrorAction SilentlyContinue if(-not($sub)) { Connect-AzAccount } # Set-AzContext -SubscriptionId "<Subscription ID>"
Defina variáveis fornecendo os seus próprios valores para
<lab name>
,<VM name>
e quanto ao que fará paraStart
ouStop
a VM.$devTestLabName = "<lab name>" $vMToStart = "<VM name>" $vmAction = "<Start or Stop>"
Inicie ou pare 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" }