(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa
PowerShell
PowerShell 1 min

PowerShell para Azure: automatizar recursos com o módulo Az

João Barros 04 de October de 2024 1 min de leitura

O módulo Az PowerShell é a interface de linha de comando mais completa para a Azure, com mais de 10.000 cmdlets cobrindo todos os serviços. Ideal para automação, provisionamento em massa e tarefas de administração recorrentes.

Instalação e autenticação

Install-Module -Name Az -Scope CurrentUser -Force

# Login interactivo (abre browser para MFA)
Connect-AzAccount -TenantId "seu-tenant-id"

# Login com Service Principal (para automação/CI-CD)
$secPwd = ConvertTo-SecureString $env:SP_SECRET -AsPlainText -Force
$cred   = New-Object PSCredential($env:SP_CLIENT_ID, $secPwd)
Connect-AzAccount -ServicePrincipal -Credential $cred -TenantId $env:TENANT_ID

# Seleccionar subscrição
Set-AzContext -SubscriptionId "subscription-id"

Criar e gerir recursos

# Criar resource group
New-AzResourceGroup -Name "rg-analytics-prod" -Location "westeurope"

# Criar storage account
New-AzStorageAccount `
    -ResourceGroupName "rg-analytics-prod" `
    -Name "stadatalakeprod" `
    -Location "westeurope" `
    -SkuName "Standard_LRS" `
    -Kind "StorageV2" `
    -EnableHierarchicalNamespace $true  # ADLS Gen2

# Listar VMs num resource group
Get-AzVM -ResourceGroupName "rg-analytics-prod" | Select-Object Name, Location, PowerState

Script de manutenção — paragem nocturna de VMs de dev

# Executar via Azure Automation Runbook ou task agendada
$rg   = "rg-dev"
$tags = @{ Ambiente = "Dev"; AutoStop = "true" }

Get-AzVM -ResourceGroupName $rg | Where-Object { $_.Tags["AutoStop"] -eq "true" } |
    ForEach-Object {
        Write-Output "A parar VM: $($_.Name)"
        Stop-AzVM -ResourceGroupName $rg -Name $_.Name -Force -AsJob
    }

Get-Job | Wait-Job | Receive-Job

Export de inventário para Excel

# Listar todos os recursos Azure e exportar
$recursos = Get-AzResource | Select-Object Name, ResourceType, ResourceGroupName, Location
$recursos | Export-Csv -Path "inventario_azure.csv" -NoTypeInformation -Encoding UTF8

Conclusão

O módulo Az é indispensável para administradores e engenheiros Azure. Automatize tarefas repetitivas (paragem de VMs, inventários, criação de recursos), integre em Azure Automation Runbooks para execução agendada e trate o PowerShell como IaC leve para operações do dia a dia.

Partilhar: