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:

FOR /F %%A IN (komputery.txt) DO (WMIC /Node:%%A LogicalDisk Where DriveType=”3″ Get SystemName,DeviceID,FileSystem,FreeSpace,Size) >> raport_miejsca.CSV

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:
wmic diskspace report
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 :)


Podobne Tematy:

  • marczu

    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 ‚;’

    }

  • SzwejkowskiA

    $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

    • SzwejkowskiA

      i oczywiscie na koncu export