Jump to content

Festplattengröße und -belegung auslesen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Folgendes VBScript liest Größe und freien Speicherplatz der Festplatten C: und D: aus und gibt sie in einer Meldung aus.

Anschließend wird man gefragt, ob man einen Logeintrag erzeugen will.

Dieser Eintrag wird dann an eine evtl. schon bestehende Datei angehängt.

Ich habe mich für derartige Dinge für die Ausgabe als CSV entschieden, weil die Verarbeitung mit Tabellenkalkulationen dann einfacher ist ;).

 

Unten stehenden Code in Texteditor kopieren und als Datei mit der Endung vbs abspeichern...

'------------------------------------------
' Ermittlung des Computernamens
Set MyFiles	= CreateObject("Scripting.FileSystemObject")
Set wshnet = CreateObject("WScript.Network")
Set wshshell = CreateObject("WScript.Shell")
Dim strComputer
strComputer = wshnet.Computername
'Auslesen der Windows-Hardwareinformationen

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk",,48)
For Each objItem in colItems
if objItem.Caption = "C:" then festplatteC= objItem.Caption & " " & Round(objItem.FreeSpace /1024 /1024 /1024, 2) & " / " & Round(objItem.Size /1024 /1024 /1024,2) & " GByte"
if objItem.Caption = "D:" then festplatteD= objItem.Caption & " " & Round(objItem.FreeSpace /1024 /1024 /1024, 2) & " / " & Round(objItem.Size /1024 /1024 /1024,2) & " GByte"
Next

' Datum und Uhrzeit ermitteln
Dim ausgabe
Dim datum
Dim zeit

set ausgabe = WScript.CreateObject("WScript.Shell")
datum = Date
zeit = Time
timestamp = datum & " "  & zeit


' Messagebox mit den abgefragten Werten erzeugen und anzeigen
Meldung = "Folgende Daten wurden ermittelt:" & VbCr & VbCr

Add "Festplatte C: " & festplatteC
Add "Festplatte D: " & festplatteD
Add "Timestamp: " & timestamp

MsgBox Meldung,,"Ergebnis:"



Sub Add(text)
  ' fügt Text hinzu
  Meldung = Meldung & text & vbCrLf
End Sub

Frage_Logfile = "Sollen diese Angaben in das Logfile eingetragen werden?"
antwort = MsgBox(Frage_Logfile, vbYesNo + vbQuestion,"Logeintrag erzeugen?")
if antwort = vbNo then
 MsgBox "Kein Logeintrag geschrieben.",vbExclamation,"Abbruch"
 WScript.Quit
end if

' Erzeugung des Strings für die Logdatei

Logeintrag =  festplatteC & ";"  & festplatteD & ";" & timestamp

' Deklaration der Variablen für das Logfile
filename = "D:\HW-Infos.csv" ' <---- Hier den Pfad und den Dateinamen des zu schreibenden Logfiles eintragen


Const ForAppending = 8
Set fs = CreateObject("Scripting.FileSystemObject")

' Logdatei zum Anhängen der Eintrage laden
Set textstream = fs.OpenTextFile(filename, ForAppending, True)
ok = (Err.number = 0)
If ok Then
  On Error Goto 0
  textstream.WriteLine Logeintrag
  textstream.Close'
  Logeintrag_OK = "Folgender Logeintrag wurde erzeugt:" & vbcr & vbcr & Logeintrag
  MsgBox Logeintrag_OK,,"Logeintragung erfolgreich:"
Else
  MsgBox "Fehler: " & Err.Description
End If

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...