Microsoft Azure – Listando Máquinas Virtuais e Disco via Cloud Shell

Olá pessoal, tudo bem com vocês?

Nesse artigo vou demostrar a vocês como listar todas as máquinas virtuais, discos anexados e o tamanho de cada uma delas, dentro de sua assinatura.

Microsoft-Azure-Listando-Máquinas-Virtuais-Disco-Cloudshell-01

Nesse script estou a listando todas as máquinas virtuais na assinatura ou somente de um grupo de recurso em especifico.

Para executar os comandos de powershell, iremos utilizar o Azure Cloud Shell. Para quem não conhece os conceitos do Azure Cloud Shell, segue o link: Cloud Shell.

Bom, vamos para o que interessa. Para o utilizar o powershell no Cloud Shell, você tem dois caminhos.

Primeiro: Dentro do portal do Azure, vá em Cloud Shell e clique para abrir o console.

Microsoft-Azure-Listando-Máquinas-Virtuais-Disco-Cloudshell-02

Segundo: Você pode acessar o site “shell.azure.com” em uma nova guia no navegador.

Microsoft-Azure-Listando-Máquinas-Virtuais-Disco-Cloudshell-04

Com o Cloud Shell aberto, vamos aos comandos, vou deixar os dois comandos o primeiro vai listar todos os servidores dentro de seu ambiente ou somente um grupo especifico.

Vamos criar uma variável para listar as máquinas no meu ambiente.

#Listar todas as máquinas virtuais.
$VMs = Get-AzVM
#Listar máquinas dentro de grupos de recurso.
$VMs = Get-AzVM -ResourceGroupName "RG_Example"

Eu vou executar para listar todas as máquinas virtuais.

$VMs = Get-AzVM

Microsoft-Azure-Listando-Máquinas-Virtuais-Disco-Cloudshell-05

Em tese essa variável está armazenada as seguintes informações, grupo de recurso, nome da VM, location, modelo da Vm e sistema operacional.

Microsoft-Azure-Listando-Máquinas-Virtuais-Disco-Cloudshell-06

Agora vamos criar uma variável de saída, com as informações que teremos de retorno:

VM Name = Vai apresentar o nome da Máquina Virtual.
VM Type = Vai apresentar qual o sistema operacional.
VM Profile = Vai apresentar qual o modelo da máquina virtual.
VM OS Disk Size = Vai apresentar qual o tamanho do disco do sistema operacional.
VM Data Disk Size = Vai apresentar quais os discos e tamanho de cada um anexado na máquina virtual.

Vamos a variável.

$vmOutput = $VMs | ForEach-Object {
     [PSCustomObject]@{
         "VM Name" = $_.Name
         "VM Type" = $_.StorageProfile.osDisk.osType
         "VM Profile" = $_.HardwareProfile.VmSize
         "VM OS Disk Size" = $_.StorageProfile.OsDisk.DiskSizeGB
         "VM Data Disk Size" = ($_.StorageProfile.DataDisks.DiskSizeGB) -join ','
     }
}

Microsoft-Azure-Listando-Máquinas-Virtuais-Disco-Cloudshell-07

Para entender o que essa variável está retornando, execute “$vmOutput” e veja como ele vai apresentar as informações.

imageAgora vamos exportar para um arquivo “.CSV” dentro do Cloud Shell, caso você queira criar pastas no seu ambiente de Cloud Shell pode criar a vontade e mapear na hora de fazer o exporte. No meu caso estou usando o caminho raiz do Cloud Shell.

$vmOutput | export-csv /home/michel/ListDisk.csv -delimiter ";" -force –notypeinformation

Microsoft-Azure-Listando-Máquinas-Virtuais-Disco-Cloudshell-08

Após executar o comando acima, liste com o comando “ls” dentro da pasta para ver se o arquivo foi exportado.

Microsoft-Azure-Listando-Máquinas-Virtuais-Disco-Cloudshell-09

Pronto meu arquivo “ListDisk.csv” foi extraído com sucesso. Agora vamos fazer o Download do arquivo, vá em “Upload/Download” e clique em “Download

Microsoft-Azure-Listando-Máquinas-Virtuais-Disco-Cloudshell-10

Como fiz o exporte para a raiz do meu Cloud Shell, basta eu colocar o nome do arquivo e fazer o download.

Microsoft-Azure-Listando-Máquinas-Virtuais-Disco-Cloudshell-11

Pronto meu arquivo “csv” foi exportado com sucesso.

Microsoft-Azure-Listando-Máquinas-Virtuais-Disco-Cloudshell-12

Obrigado pessoal, espero que tenham gostado e até o próximo post.

Sobre Michel Jatoba

Veja Também...

Microsoft Azure – Criando Placa de Rede via Powershell

Olá pessoal, tudo bem com vocês? Dando continuidade na nossa serie de artigos de como …

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

XPTO-WPC-MONITOR-TAG