Utilizando o Powershell para obter o espaço em disco das maquinas virtuais no Hyper-V

- 1 minuto para ler

Quando falamos de universo “Windows”, acredito que para os usuários avançados e administradores de servidores o Powershell é com certeza uma mão na roda! Então durante um pedido que me foi feito no trabalho de “listar e somar” os discos virtuais (VHDX) das VMs contidas em alguns servidores de Hyper-V, criei um pequeno script que faz esse trabalho!

O script basicamente obtem as VMs e, passando por um filtro, obtem os discos e faz uma soma deles por VM. Ao final o retorno do script é uma lista das VMs com seu respectivo tamanho total de disco. Facil não?

Get-VM | Where-Object { $_.Name -like "VM*" } | ForEach-Object {
    $VHDSize = 0;
    $VMName = $_.Name;
    Get-VMHardDiskDrive -VMName $_.Name | ForEach-Object {
        Get-VHD -Path $_.Path | ForEach-Object {
            $VHDSize += $_.Size
        }
    };
    $VHDSizeMB = $VHDSize / (1024 * 1024);
    Write-Host $VMName $VHDSizeMB
}

Temos variantes do resultado podem ser obtidas alterando a linha $VHDSize += $_.Size. Esta linha tras o tamanho total do VHDX selecionado. Para obter, por exemplo, o uso real do disco, podemos alterar a linha para $VHDSize += $_.FileSize.

Luiz Pereira de Souza Filho

Luiz Pereira de Souza Filho

Absorvendo a cultura devops desde 1997! Formado em Segurança da Informação pela UNISINOS, consultor em Cloud Computing, programador Web-Mobile e gamer casual! Trabalha atualmente como Cloud Engineer na Umbler e como professor no curso técnico em informática na IENH.

comentários do Disqus
rss facebook twitter github gitlab youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora