janelas de monitoramento de discos livres 2012 - powershell

1

Eu comecei do zero para aprender a monitorar nosso servidor (apenas um).

$dates=(get-date).ToString("s").Replace(":","-")

$page="page"+$dates+".csv"
get-wmiobject win32_pagefileusage | export-csv -path c:\tio\$page

$hyperpage="hyperpage"+$dates+".csv"
get-wmiobject win32_pagefileusage -computer Hyper | export-csv -path c:\tio\$hyperpage

$hyper="hyper"+$dates+".csv"
get-wmiobject win32_logicaldisk -computer Hyper | select-object -property DeviceID, FreeSpace, Size | Export-csv -path c:\tio\$hyper

$image="image"+$dates+".csv"
get-wmiobject win32_logicaldisk | select-object -property DeviceID, FreeSpace, Size | Export-csv -path c:\tio\$image

Meu objetivo é descobrir como o espaço livre no hyper-v e no host virtual está crescendo.

É possível mesclá-los, já que neste momento ele vai para 4 arquivos. Eu gostaria de manter o baixo desempenho, mas mescle o máximo possível. Portanto, a melhor coisa seria uma função de acréscimo, mas não quer carregar o arquivo inteiro na memória toda vez, a menos que eu tenha que fazer isso.

Muito obrigado antecipadamente

    
por Andras Sebestyen 01.07.2014 / 23:09

1 resposta

1

Se eu entendi o que você está perguntando, acho que a solução simples é que export-csv inclui uma opção -Append para que você possa continuar anexando os arquivos (embora, você crie os nomes de arquivo com base na data / hora para o segundo, não tenho certeza de quanto isso iria conseguir). Se você quisesse mantê-lo em uma base diária, por exemplo, você poderia tentar algo como (eu adicionei -NoTypeInformation desde informações de tipo em um csv geralmente me irrita a menos que você precise reconstruir um objeto, que neste caso, nós don t):

$dates=get-date -Format "yyyy-MM-dd"

$page="page$($dates).csv"
get-wmiobject win32_pagefileusage | export-csv -path c:\tio\$page -Append -NoTypeInformation

$hyperpage="hyperpage$($dates).csv"
get-wmiobject win32_pagefileusage -computer Hyper | export-csv -path c:\tio\$hyperpage -Append -NoTypeInformation

$hyper="hyper$($dates).csv"
get-wmiobject win32_logicaldisk -computer Hyper | select-object -property DeviceID, FreeSpace, Size | Export-csv -path c:\tio\$hyper -Append -NoTypeInformation

$image="image$($dates).csv"
get-wmiobject win32_logicaldisk | select-object -property DeviceID, FreeSpace, Size | Export-csv -path c:\tio\$image -Append -NoTypeInformation
    
por 03.07.2014 / 03:03