Usuário com melhor resposta
Report de espaço em disco

Pergunta
-
Olá amigos! Bom dia!
Eu preciso verificar o quanto os discos das minha VMS podem crescer e para isso tentei com o script abaixo, no entanto eu só consigo pegar os discos dos hosts e não selecionar/agrupar por vms!! Alguém possui algo parecido? Eu preciso do campo "Maximum Size"
Agradeço o Help
Script:
Get-VM -VMMServer scvmm1 |sort-object -unique| # Seleciona VMs fazendo um sort unico para evitar repetição
Get-VirtualHardDisk|select-object VirtualizationPlatform,VHDType,name,vmhost,MaximumSize,
@{n='TamanhoMaximo(GB)';e={$_.MaximumSize/ 1GB }}| # Faz a truncagem e soma dos tamanhos em GB
sort-object -property VHDType| # Sort por tipo de expansão dos discos
ConvertTo-HTML -head $aforma | Out-File C:\Users\user01\Documents\powerscript\maximumSize_$DATTA.html # converte e exporta em HTML
$Hora=get-date
echo "informações atualizadas em " $Hora >> C:\Users\user01\Documents\powerscript\maximumSize_$DATTA.htmlEu tentei fazer pegando a saída pelo get-vm, mas não estou conseguindo passar para o comando Get-VirtualHardDisk:
$totalvms = get-vm -vmmserver pvmwscvmm1 -vmhost vm001|select-object name
$totalvms| foreach-object|Get-VirtualHardDisk |select name,MaximumSize, @{n='TamanhoMaximo(GB)';e={$_.MaximumSize / 1GB }}
foreach ( $vms in $totalvms ) {write $vms} | Get-VirtualHardDisk |select name,MaximumSize, @{n='TamanhoMaximo(GB)';e={$_.MaximumSize / 1GB }}
Respostas
-
Utilizando o PowerShell management Library for Hyper-V
$SRVHYPERV = "nome do seu servidor hyper-v" $erroractionpreference = "SilentlyContinue" $VMs = Get-VM -Server $SRVHYPERV foreach($VM in $VMs){ $Discos = Get-VMDisk -VM $VM.VMElementName foreach($Disco in $Discos){ $VHD = Get-VHDInfo $Disco.diskpath -ErrorAction SilentlyContinue write-host $VM.VMElementName";"$Disco.diskpath";"$VHD.MaxInternalSize } }
Fábio de Paula Junior
- Sugerido como Resposta Fábio JrModerator quarta-feira, 15 de fevereiro de 2012 12:29
- Marcado como Resposta Richard Juhasz sexta-feira, 17 de fevereiro de 2012 11:31
Todas as Respostas
-
Você está utilizando o PowerShell management Library for Hyper-V?
Fábio de Paula Junior
-
Utilizando o PowerShell management Library for Hyper-V
$SRVHYPERV = "nome do seu servidor hyper-v" $erroractionpreference = "SilentlyContinue" $VMs = Get-VM -Server $SRVHYPERV foreach($VM in $VMs){ $Discos = Get-VMDisk -VM $VM.VMElementName foreach($Disco in $Discos){ $VHD = Get-VHDInfo $Disco.diskpath -ErrorAction SilentlyContinue write-host $VM.VMElementName";"$Disco.diskpath";"$VHD.MaxInternalSize } }
Fábio de Paula Junior
- Sugerido como Resposta Fábio JrModerator quarta-feira, 15 de fevereiro de 2012 12:29
- Marcado como Resposta Richard Juhasz sexta-feira, 17 de fevereiro de 2012 11:31