Neste procedimento, vamos mostrar como configurar uma conta de automação no Azure e criar um runbook para desligar todas as máquinas de um único grupo de recursos.
Um Automation Account no Azure é um serviço que oferece automação de processos e tarefas em ambientes da nuvem. Ele fornece recursos para criar, implantar e gerenciar runbooks, que são scripts automatizados que executam tarefas específicas no Azure, proporcionando maior eficiência e consistência nas operações. Essa ferramenta é essencial para simplificar e automatizar a administração de recursos na nuvem.
Dentro do portal do Azure, localize o serviço “Automation Accounts” e clique nele.

Agora vamos clicar em create

Insira as informações de acordo com as configurações do seu ambiente:

Utilize a identidade do sistema para autenticar na assinatura.

No meu exemplo, vou usar a conectividade pública.

Agora basta clicar em revisar e criar

A conta de automação foi criada com sucesso. Agora, basta clicar em “Go to resource”.

Dentro da conta de automação vamos clicar em Identity e posteriormente em Azure Role assignments

Agora clique em Add role assignment

Em seguida, selecione as permissões que a conta de automação terá.

Ao concluir o procedimento mencionado, estamos prontos para criar o nosso runbook, para isso basta acessar a seção “Runbooks” e clicar em “Create a Runbook”.

Vamos nomear nosso runbook, escolher a versão do PowerShell e, em seguida, clicar em “Create“:

Após fornecer as informações anteriores, você pode inserir o script conforme mostrado abaixo:

Segue o exemplo do script que utilizei no seu caso troque apenas a informação do resource group
#Conectando no azure
try {
"Logging in to Azure..."
Connect-AzAccount -Identity
}
catch {
if (!$servicePrincipalConnection) {
$ErrorMessage = "Connection $connectionName not found."
throw $ErrorMessage
} else {
Write-Error -Message $_.Exception
throw $_.Exception
}
}
# Variavel
$resourceGroupName = "nome do resource group" # Nome do resource group
# Obtém todas as VMs no grupo de recursos especificado
$vms = Get-AzVM -ResourceGroupName $resourceGroupName
foreach ($vm in $vms) {
# Desliga a VM
Stop-AzVM -ResourceGroupName $resourceGroupName -Name $vm.Name -Force
Write-Output "Desligando VM: $($vm.Name)"
}
Write-Output "Operação concluída."
Após finalizar e salvar seu script, publique-o para que seja utilizado. Em seguida, estamos prontos para realizar a primeira execução clicando em start:

Ao verificar os registros, constatamos que o script foi executado com êxito, resultando no desligamento da VM no respectivo resource group. Essa ação contribui significativamente para o controle e otimização dos recursos em seu ambiente.

Ao acessar o Console Azure, é possível verificar com sucesso que a máquina virtual foi desligada conforme previsto. Essa confirmação é crucial para garantir que as ações automatizadas estejam alinhadas com as expectativas de gerenciamento do ambiente.

Ao explorar os logs, torna-se evidente que a conta de automação que criamos desempenhou um papel crucial no processo de desligamento da VM. Essa clareza na identificação do responsável é fundamental para manter a transparência e a rastreabilidade em suas operações no ambiente do Azure.

Ao explorar esta publicação, consolidamos nosso entendimento sobre as contas de automação no ambiente Azure. A capacidade de criar scripts personalizados apresenta-se como uma ferramenta poderosa, permitindo aprimorar significativamente a eficiência e gestão de nossos recursos na nuvem. Este conhecimento oferece bases sólidas para explorarmos ainda mais as possibilidades de automação e otimização em nosso ambiente. Continue acompanhando para mais insights e aprimore suas práticas no Azure. Juntos, vamos impulsionar a eficiência operacional e maximizar o potencial da sua infraestrutura na nuvem.