Hardware per WMI mit VB Script auslesen und in Textdatei schreiben
Hallo,
ich bin kein VB Script Freak aber mit cmd kann ich leider nicht das realisieren was ich brauche.
ich möchte per VB Script bestimmte Hardware und Angaben des Rechners auslesen und in eine Textdatei schreiben.
z. Bsp. BIOS serial Nummer, Grafikkarte, wieviel Arbeitsspeicher und welche RAM module, die Netzwerkkarten inklusive Bluetooth und die MAC Adressen.
Als Anregung habe ich mir das WMI Script von der PC Welt heruntergeladen, das war recht einfach gehalten.
Leider passt meine Denkweise nicht.
Mein VB Code funktioniert nicht so wie ich es mir vorstellen würde:
on error resume next
set wmi = GetObject("winmgmts:")
WScript.Echo wmi.ExecQuery('select * from win32_BIOS')
habe auch schon andere Möglichkeiten probiert:
on error resume next
set wmi = GetObject("winmgmts:")
erg = "select * from win32_BIOS"
set ergebnis = wmi.ExecQuery(erg)
WScript.Echo wmi.ExecQuery(ergebnis)
wo liegt mein Denkfehler?
und gleich noch ne Frage, wie kann ich die WMI Abfrage so anpassen das nicht alle Werte zum Query ausgegeben werden sonder nur bestimmte,
z. Bsp. beim BIOS nur die SerialNumber ?
ich bin kein VB Script Freak aber mit cmd kann ich leider nicht das realisieren was ich brauche.
ich möchte per VB Script bestimmte Hardware und Angaben des Rechners auslesen und in eine Textdatei schreiben.
z. Bsp. BIOS serial Nummer, Grafikkarte, wieviel Arbeitsspeicher und welche RAM module, die Netzwerkkarten inklusive Bluetooth und die MAC Adressen.
Als Anregung habe ich mir das WMI Script von der PC Welt heruntergeladen, das war recht einfach gehalten.
Leider passt meine Denkweise nicht.
Mein VB Code funktioniert nicht so wie ich es mir vorstellen würde:
on error resume next
set wmi = GetObject("winmgmts:")
WScript.Echo wmi.ExecQuery('select * from win32_BIOS')
habe auch schon andere Möglichkeiten probiert:
on error resume next
set wmi = GetObject("winmgmts:")
erg = "select * from win32_BIOS"
set ergebnis = wmi.ExecQuery(erg)
WScript.Echo wmi.ExecQuery(ergebnis)
wo liegt mein Denkfehler?
und gleich noch ne Frage, wie kann ich die WMI Abfrage so anpassen das nicht alle Werte zum Query ausgegeben werden sonder nur bestimmte,
z. Bsp. beim BIOS nur die SerialNumber ?
Please also mark the comments that contributed to the solution of the article
Content-Key: 103502
Url: https://administrator.de/contentid/103502
Printed on: May 4, 2024 at 16:05 o'clock
7 Comments
Latest comment
Hallo johnsch und willkommen im Forum!
Das Ergebnis der Abfrage erhältst Du generell in Form einer Aufzählung.
Mit dem WMI Code Creator kannst Du ein entsprechendes Script erzeugen lassen - etwas gekürzt sähe das etwa so aus:
Grüße
bastla
Das Ergebnis der Abfrage erhältst Du generell in Form einer Aufzählung.
Mit dem WMI Code Creator kannst Du ein entsprechendes Script erzeugen lassen - etwas gekürzt sähe das etwa so aus:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_BIOS")
For Each objItem in colItems
Wscript.Echo "SerialNumber: " & objItem.SerialNumber
Next
bastla
Hallo johnsch!
scheitert bei mir mit "SWbemObjectSet: Allgemeiner Fehler" - warum, kann ich Dir leider (auch mit Hilfe von Accessing a Collection) nicht beantworten.
Grüße
bastla
So geht es:
Freut mich, dass wir einigermaßen übereinstimmende Scripts erhalten haben (allerdings ist meines schöner formatiert ) ...muss man das mit einer For Each schleife auslesen oder kann man das Item SerialNumber nicht direkt ansprechen?
Ja colItems(0).SerialNumber
Und was bedeutet die 48 ...
http://msdn.microsoft.com/en-us/library/aa393866(VS.85).aspxGrüße
bastla