Freier Festplattenplatz verschiedener Clients oder Server in eine Excel-Datei ?
Hallo zusammen, dies ist mein erster Eintrag in diesem Super-Forum, und ich hoffe mir kann geholfen werden.
Und zwar möchte ich unsere tägliche Serverüberprüfung automatisieren.
Wir haben ca. 25 Server je 2 Partitionen (C: und D Teilweise sind auch Server dabei die keine 2. Partition haben, bzw. kein Laufwerk C: sondern nur ein Laufwerk X:.
Nun möchte ich gerne von jedem Server und entsprechend jeder Partition den noch verfügbaren Plattenplatz in eine Excel-Datei schreiben.
Diese Excel-Datei soll auch zur Archivierung des Plattenplatzverlaufes dienen. D.H. ich möchte gerne für jeden Tag des Jahres die entsprechenden Daten aufbewaren.
Ich habe schon herumexperimentiert mit dem Tool "Psinfo.exe":
Datei lw.cmd:
if exist test.txt del test.txt
psinfo -d WINNT30 >> test.txt
psinfo -d WINNT31 >> test.txt
psinfo -d WINNT32 >> test.txt
psinfo -d WINNT33 >> test.txt
psinfo -d WINNT34 >> test.txt
psinfo -d WINNT35 >> test.txt
psinfo -d WINNT09 >> test.txt
psinfo -d WINNT37 >> test.txt
psinfo -d WINNT11 >> test.txt
psinfo -d WINNT40 >> test.txt
psinfo -d WINNT13 >> test.txt
psinfo -d WINNT17 >> test.txt
psinfo -d WINNT16 >> test.txt
psinfo -d WINNT26 >> test.txt
psinfo -d WINNT27 >> test.txt
psinfo -d WINNT28 >> test.txt
psinfo -d WINNT18 >> test.txt
psinfo -d WINNT19 >> test.txt
psinfo -d WINNT20 >> test.txt
psinfo -d WINNT21 >> test.txt
psinfo -d WINNT22 >> test.txt
psinfo -d KIRCHNER-RO-SRV >> test.txt
psinfo -d WINNT42 >> test.txt
psinfo -d WINNT43 >> test.txt
Die hier erzeugte Test.txt überprüfe ich mit folgender weiteren Batch-Datei:
finden.cmd
if exist Laufwerke.txt del Laufwerke.txt
findstr "C:.Fixed D:.Fixed X:.Fixed" test.txt >>Laufwerke.txt
Die Ausgabe ist nun so:
C: Fixed NTFS 19.99 GB 11.87 GB 59.4%
D: Fixed NTFS Daten 39.99 GB 9.83 GB 24.6%
C: Fixed NTFS 19.99 GB 10.20 GB 51.1%
D: Fixed NTFS Daten 499.99 GB 34.18 GB 6.8%
C: Fixed NTFS 19.99 GB 12.95 GB 64.8%
D: Fixed NTFS Volume 30.00 GB 5.77 GB 19.2%
C: Fixed NTFS 19.99 GB 9.47 GB 47.4%
D: Fixed NTFS Volume 19.99 GB 7.60 GB 38.0%
C: Fixed NTFS 19.99 GB 10.50 GB 52.6%
D: Fixed NTFS Volume 10.00 GB 8.15 GB 81.5%
C: Fixed NTFS 19.99 GB 11.99 GB 60.0%
D: Fixed NTFS Volume 80.00 GB 11.92 GB 14.9%
C: Fixed NTFS 19.99 GB 10.43 GB 52.2%
D: Fixed NTFS Volume 10.00 GB 5.93 GB 59.3%
C: Fixed NTFS 19.99 GB 10.62 GB 53.1%
D: Fixed NTFS Volume 19.99 GB 16.42 GB 82.1%
C: Fixed NTFS 19.53 GB 12.53 GB 64.1%
D: Fixed NTFS DATEN 14.31 GB 13.70 GB 95.7%
C: Fixed NTFS 19.99 GB 5.20 GB 26.0%
D: Fixed NTFS Daten 30.00 GB 14.09 GB 47.0%
C: Fixed NTFS 19.99 GB 3.63 GB 18.2%
D: Fixed NTFS Daten 19.99 GB 11.33 GB 56.7%
C: Fixed NTFS 11.72 GB 6.72 GB 57.3%
D: Fixed NTFS Daten 56.08 GB 53.63 GB 95.6%
C: Fixed NTFS 11.72 GB 5.38 GB 45.9%
D: Fixed NTFS Daten 56.08 GB 30.76 GB 54.8%
C: Fixed NTFS 15.63 GB 7.42 GB 47.5%
D: Fixed NTFS Daten 121.10 GB 68.97 GB 57.0%
C: Fixed NTFS 15.63 GB 9.51 GB 60.9%
D: Fixed NTFS Volume 121.10 GB 78.84 GB 65.1%
C: Fixed NTFS 19.53 GB 12.06 GB 61.8%
D: Fixed NTFS Daten 117.19 GB 70.20 GB 59.9%
X: Fixed NTFS Citrix1 33.90 GB 21.05 GB 62.1%
X: Fixed NTFS Citrix2 33.90 GB 21.81 GB 64.3%
C: Fixed NTFS Arriba bauen 33.89 GB 25.96 GB 76.6%
D: Fixed NTFS Volume 136.72 GB 103.19 GB 75.5%
C: Fixed NTFS 33.89 GB 28.99 GB 85.5%
D: Fixed NTFS Volume 67.80 GB 38.54 GB 56.8%
C: Fixed NTFS 33.89 GB 25.04 GB 73.9%
D: Fixed NTFS Volume 136.72 GB 24.30 GB 17.8%
C: Fixed NTFS 19.53 GB 9.53 GB 48.8%
D: Fixed NTFS New Volume 116.13 GB 79.84 GB 68.8%
C: Fixed NTFS 29.99 GB 20.87 GB 69.6%
C: Fixed NTFS 29.99 GB 21.65 GB 72.2%
Nun möchte ich gerne noch die entsprechenden Servernamen zu den jeweiligen Laufwerken haben, und dann das ganze in Excel übernehmen.
So Viel Text...
Ich hoffe jemand kann mich hierbei unterstützen...
DANKE
Stefan
[Edit Biber] Abgehakt & von "Windows" nach "Entwicklung und Skripte" verschoben. [/Edit]
Und zwar möchte ich unsere tägliche Serverüberprüfung automatisieren.
Wir haben ca. 25 Server je 2 Partitionen (C: und D Teilweise sind auch Server dabei die keine 2. Partition haben, bzw. kein Laufwerk C: sondern nur ein Laufwerk X:.
Nun möchte ich gerne von jedem Server und entsprechend jeder Partition den noch verfügbaren Plattenplatz in eine Excel-Datei schreiben.
Diese Excel-Datei soll auch zur Archivierung des Plattenplatzverlaufes dienen. D.H. ich möchte gerne für jeden Tag des Jahres die entsprechenden Daten aufbewaren.
Ich habe schon herumexperimentiert mit dem Tool "Psinfo.exe":
Datei lw.cmd:
if exist test.txt del test.txt
psinfo -d WINNT30 >> test.txt
psinfo -d WINNT31 >> test.txt
psinfo -d WINNT32 >> test.txt
psinfo -d WINNT33 >> test.txt
psinfo -d WINNT34 >> test.txt
psinfo -d WINNT35 >> test.txt
psinfo -d WINNT09 >> test.txt
psinfo -d WINNT37 >> test.txt
psinfo -d WINNT11 >> test.txt
psinfo -d WINNT40 >> test.txt
psinfo -d WINNT13 >> test.txt
psinfo -d WINNT17 >> test.txt
psinfo -d WINNT16 >> test.txt
psinfo -d WINNT26 >> test.txt
psinfo -d WINNT27 >> test.txt
psinfo -d WINNT28 >> test.txt
psinfo -d WINNT18 >> test.txt
psinfo -d WINNT19 >> test.txt
psinfo -d WINNT20 >> test.txt
psinfo -d WINNT21 >> test.txt
psinfo -d WINNT22 >> test.txt
psinfo -d KIRCHNER-RO-SRV >> test.txt
psinfo -d WINNT42 >> test.txt
psinfo -d WINNT43 >> test.txt
Die hier erzeugte Test.txt überprüfe ich mit folgender weiteren Batch-Datei:
finden.cmd
if exist Laufwerke.txt del Laufwerke.txt
findstr "C:.Fixed D:.Fixed X:.Fixed" test.txt >>Laufwerke.txt
Die Ausgabe ist nun so:
C: Fixed NTFS 19.99 GB 11.87 GB 59.4%
D: Fixed NTFS Daten 39.99 GB 9.83 GB 24.6%
C: Fixed NTFS 19.99 GB 10.20 GB 51.1%
D: Fixed NTFS Daten 499.99 GB 34.18 GB 6.8%
C: Fixed NTFS 19.99 GB 12.95 GB 64.8%
D: Fixed NTFS Volume 30.00 GB 5.77 GB 19.2%
C: Fixed NTFS 19.99 GB 9.47 GB 47.4%
D: Fixed NTFS Volume 19.99 GB 7.60 GB 38.0%
C: Fixed NTFS 19.99 GB 10.50 GB 52.6%
D: Fixed NTFS Volume 10.00 GB 8.15 GB 81.5%
C: Fixed NTFS 19.99 GB 11.99 GB 60.0%
D: Fixed NTFS Volume 80.00 GB 11.92 GB 14.9%
C: Fixed NTFS 19.99 GB 10.43 GB 52.2%
D: Fixed NTFS Volume 10.00 GB 5.93 GB 59.3%
C: Fixed NTFS 19.99 GB 10.62 GB 53.1%
D: Fixed NTFS Volume 19.99 GB 16.42 GB 82.1%
C: Fixed NTFS 19.53 GB 12.53 GB 64.1%
D: Fixed NTFS DATEN 14.31 GB 13.70 GB 95.7%
C: Fixed NTFS 19.99 GB 5.20 GB 26.0%
D: Fixed NTFS Daten 30.00 GB 14.09 GB 47.0%
C: Fixed NTFS 19.99 GB 3.63 GB 18.2%
D: Fixed NTFS Daten 19.99 GB 11.33 GB 56.7%
C: Fixed NTFS 11.72 GB 6.72 GB 57.3%
D: Fixed NTFS Daten 56.08 GB 53.63 GB 95.6%
C: Fixed NTFS 11.72 GB 5.38 GB 45.9%
D: Fixed NTFS Daten 56.08 GB 30.76 GB 54.8%
C: Fixed NTFS 15.63 GB 7.42 GB 47.5%
D: Fixed NTFS Daten 121.10 GB 68.97 GB 57.0%
C: Fixed NTFS 15.63 GB 9.51 GB 60.9%
D: Fixed NTFS Volume 121.10 GB 78.84 GB 65.1%
C: Fixed NTFS 19.53 GB 12.06 GB 61.8%
D: Fixed NTFS Daten 117.19 GB 70.20 GB 59.9%
X: Fixed NTFS Citrix1 33.90 GB 21.05 GB 62.1%
X: Fixed NTFS Citrix2 33.90 GB 21.81 GB 64.3%
C: Fixed NTFS Arriba bauen 33.89 GB 25.96 GB 76.6%
D: Fixed NTFS Volume 136.72 GB 103.19 GB 75.5%
C: Fixed NTFS 33.89 GB 28.99 GB 85.5%
D: Fixed NTFS Volume 67.80 GB 38.54 GB 56.8%
C: Fixed NTFS 33.89 GB 25.04 GB 73.9%
D: Fixed NTFS Volume 136.72 GB 24.30 GB 17.8%
C: Fixed NTFS 19.53 GB 9.53 GB 48.8%
D: Fixed NTFS New Volume 116.13 GB 79.84 GB 68.8%
C: Fixed NTFS 29.99 GB 20.87 GB 69.6%
C: Fixed NTFS 29.99 GB 21.65 GB 72.2%
Nun möchte ich gerne noch die entsprechenden Servernamen zu den jeweiligen Laufwerken haben, und dann das ganze in Excel übernehmen.
So Viel Text...
Ich hoffe jemand kann mich hierbei unterstützen...
DANKE
Stefan
[Edit Biber] Abgehakt & von "Windows" nach "Entwicklung und Skripte" verschoben. [/Edit]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 64572
Url: https://administrator.de/contentid/64572
Ausgedruckt am: 23.11.2024 um 01:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo HarrySteff!
Vorweg vielleicht ein Hinweis auf die Möglichkeit, psinfo auch mit dem Parameter "@file" zu starten, wodurch Du die Liste aller Rechner einfach in eine Textdatei schreiben kannst - konkret könnte der Befehl dann etwa
lauten.
Eine ähnliche Vorgangsweise, nur mit einer anderen Art des Auslesens der für Dich relevanten Daten, könnte so aussehen:
Dazu benötigst Du (neben dieser Batchdatei) die schon angesprochene Rechnerliste (ein Eintrag je Zeile, keine "\\") und das folgende, als "C:\Scripts\GetDrivesInfo.vbs" gespeicherte, VB-Script:
In den ersten beiden Zeilen wird festgelegt, dass die Felder durch ";" getrennt werden (für Tabs wäre etwa die erste Zeile strDelim = Chr(9)) und nur die von Dir vorgegebenen Laufwerksbuchstaben berücksichtigt werden sollen.
In den Zeilen ab "WScript.Echo" findest Du die einzelnen Felder (ich habe noch das Datum am Anfang hinzugefügt) der Ausgabe - falls Du hier etwas änderst, bitte beachten, dass (bis auf die letzte Zeile) immer " & strDelim & _" hinter dem auszugebenden Feld stehen muss.
Die entstehende Datei kannst Du, da mit ".csv" benannt, per Doppelklick mit Excel öffnen.
Wenn die Abfrage bisher mit PsInfo geklappt hat, sollte auch das Script auf die einzelnen Rechner zugreifen können (Admin-Rechte vorausgesetzt) - falls dies bei einzelnen Rechnern (zB weil offline) nicht möglich ist, wird ohne Fehlermeldung fortgesetzt.
Grüße
bastla
Vorweg vielleicht ein Hinweis auf die Möglichkeit, psinfo auch mit dem Parameter "@file" zu starten, wodurch Du die Liste aller Rechner einfach in eine Textdatei schreiben kannst - konkret könnte der Befehl dann etwa
psinfo -d @D:\Servers.txt>>D:\DrivesInfo.txt
Eine ähnliche Vorgangsweise, nur mit einer anderen Art des Auslesens der für Dich relevanten Daten, könnte so aussehen:
@echo off & setlocal
set "Liste=D:\Servers.txt"
set "Info=D:\DrivesInfo.csv"
if exist "%Info%" del "%Info%"
for /f "usebackq delims=" %%i in ("%Liste%") do cscript //nologo C:\Scripts\GetDrivesInfo.vbs "%%i">>"%Info%" & echo %%i
strDelim = ";"
strDrives = "C:D:X:"
On Error Resume Next
strComputer = WScript.Arguments(0)
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LogicalDisk",,48)
For Each objItem in colItems
If objItem.DriveType = 3 And Instr(strDrives, objItem.Name) Then
lngTotal = objItem.Size
lngUsed = objItem.Size - objItem.FreeSpace
strTotal = FormatNumber(lngTotal / 1000000000, 2)
strUsed = FormatNumber(lngUsed / 1000000000, 2)
strPct = FormatNumber(lngUsed * 100 / lngTotal, 2) & "%"
WScript.Echo Date & strDelim & _
strComputer & strDelim & _
objItem.Name & strDelim & _
objItem.FileSystem & strDelim & _
strTotal & strDelim & _
strUsed & strDelim & _
strPct
End If
Next
In den ersten beiden Zeilen wird festgelegt, dass die Felder durch ";" getrennt werden (für Tabs wäre etwa die erste Zeile strDelim = Chr(9)) und nur die von Dir vorgegebenen Laufwerksbuchstaben berücksichtigt werden sollen.
In den Zeilen ab "WScript.Echo" findest Du die einzelnen Felder (ich habe noch das Datum am Anfang hinzugefügt) der Ausgabe - falls Du hier etwas änderst, bitte beachten, dass (bis auf die letzte Zeile) immer " & strDelim & _" hinter dem auszugebenden Feld stehen muss.
Die entstehende Datei kannst Du, da mit ".csv" benannt, per Doppelklick mit Excel öffnen.
Wenn die Abfrage bisher mit PsInfo geklappt hat, sollte auch das Script auf die einzelnen Rechner zugreifen können (Admin-Rechte vorausgesetzt) - falls dies bei einzelnen Rechnern (zB weil offline) nicht möglich ist, wird ohne Fehlermeldung fortgesetzt.
Grüße
bastla
Hallo horschd und willkommen im Forum!
Falls Du tatsächlich Passwörter im Klartext in einer Datei hinterlegen willst, könnte das so gehen:
Zunächst in der "Servers.txt" in den einzelnen Zeilen, jeweils durch ";" getrennt, Servername, User und Passwort eintragen und dann mit folgendem Batch verwenden:
Durch das Filtern mit
wird das Ergebnis auf die Angabe des Servernamens (Zeile "System information for \\Servername:") und der Laufwerksinfos für Festplatten beschränkt - hier nach Wunsch anpassen oder den Filter ganz weglassen, um die vollständige Info zu speichern.
Grüße
bastla
Falls Du tatsächlich Passwörter im Klartext in einer Datei hinterlegen willst, könnte das so gehen:
Zunächst in der "Servers.txt" in den einzelnen Zeilen, jeweils durch ";" getrennt, Servername, User und Passwort eintragen und dann mit folgendem Batch verwenden:
@echo off & setlocal
set "Liste=D:\Servers.txt"
set "Info=D:\DrivesInfo.csv"
if exist "%Info%" del "%Info%"
for /f "usebackq tokens=1-3 delims=;" %%i in ("%Liste%") do psinfo \\%%i -d -u %%j - p %%k|findstr "information Fixed">>"%Info%" & echo %%i
|findstr "information Fixed"
Grüße
bastla
Hallo Technikber!
Zum Mail-Versenden unter Batch: blat und dazu diverse Beiträge hier im Forum ...
Grüße
bastla
Zum Mail-Versenden unter Batch: blat und dazu diverse Beiträge hier im Forum ...
Grüße
bastla