Powershell – informacje o zajętości dysków

Dzisiaj kolejny skrypt, który pomoże zebrać z jednego lub wielu komputerów informacje na temat dysków – między innymi rozmiar oraz pozostałe miejsce.
Jak zwykle, posłużymi się klasami WMI aby pobrać informacje o wszystkich dyskach, a z kolei potem wybierzemy tylko te wyniki, które są dyskami lokalnymi.

$vols = gwmi Win32_Volume | Where-Object {$_.DriveType -match ‚3’ }

Oczywiście, można też sprawdzać inne dyski, wskazując inne wartości właściwości DriveType. Niżej lista:
Unknown (0)
No Root Directory (1)
Removable Disk (2)
Local Disk (3)
Network Drive (4)
Compact Disc (5)
RAM Disk (6)

A potem już rozdzielamy na 2 przypadki. Pierwszy taki, że mamy przeskanować wszystkie dyski (tutaj sprawa jest prosta) oraz taki, że użytkownik określił dyski do sprawdzenia. W drugim przypadku zrobiłem z listy wszystkich właściwości wszystkich dysków oddzielną tablicę tylko z literami dysków – tak aby potem sprawdzać jakie dyski użytkownik określił (pewnie da się to zrobić prościej 🙂

Wykorzystałem tutaj powershellowy obiekt: PSCustomObject, który pozwala na tworzenie własnych obiektów z własnymi właściwościami.
Struktura jest bardzo prosta, podajemy nazwę, określamy typ i potem dodajemy już nazwy właściwości oraz odpowiadające im wartości.

 

Poniżej załączam jeszcze zdjęcie przykładowego wykonania skryptu. „N/A” w wyniku oznacza, że nie ma na komputerze dysku z literą określoną w wywołaniu funkcji.

Link do pobrania:
Get-DiskSpace

Przeczytaj także...

Dodaj komentarz