Batch sprawdzający ilość wolnego miejsca na dyskach na wielu komputerach z listy
Pora na trochę „oldschool’owego” IT :). Otóż, podzielę się z Wami batchem, który wiele lat temu stworzyłem sobie aby na szybko sprawdzić ile wolnego miejsca mają komputery z listy. Mimo, iż na co dzień mam dostęp do zaawansowanych systemów monitorujących, ten skrypt bywa przydatny (jak zwykle najprostsze rozwiązania bywają najlepsze).
Przygotujmy sobie blik wsadowy (.bat), którego zawartością będzie:
W osobnym pliku, o nazwie „komputery.txt” podajemy nazwy maszyn na liście w osobnych liniach.
Po uruchomieniu naszego skryptu pojawi się raport w pliku raport_miejsca.CSV, którego zawartość może wyglądać mniej więcej tak:

Jak widać, Batch sprawdzający ilość wolnego miejsca na dyskach jest mega-prosty, ale przyda się każdemu adminowi.
Od dawna zabieram się, aby napisać to samo w Poweshell. Trzymajcie kciuki 🙂
foreach ($komputer in Get-Content .komputery.txt){
Get-WmiObject -class Win32_LogicalDisk -ComputerName $komputer |? {$_.DriveType -eq '3′} |Select DeviceID,FileSystem,FreeSpace,Size,SystemName |Export-Csv .raport_miejsca.csv -Append -NoTypeInformation -Delimiter ’;’
}
Jest Pan sponsorem kolejnej porady Panie marczu;)
$gc=get-content d:item.txt
$gc|foreach{
$pcname=$_
Get-WmiObject -ComputerName $_ win32_logicaldisk|select @{Name=”DeviceName”;expression={„$($pcname)”}}DeviceID,@{name=”FreeSpace”; Expression={„{0:N2}” -f ($_.freespace/1GB) }},@{Name=”SIze”;Expression={„{0:N2}” -f ($_.size /1GB)}}
}
Tak was nie raz czytam wiec drzuce cos od siebie – wynik w gb
i oczywiscie na koncu export