Hardware per WMI mit VB Script auslesen und in Textdatei schreiben

Mitglied: johnsch

johnsch (Level 1) - Jetzt verbinden

07.12.2008, aktualisiert 08.12.2008, 19714 Aufrufe, 7 Kommentare

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 ?
Mitglied: dog
07.12.2008 um 23:15 Uhr
Grüße

Max
Bitte warten ..
Mitglied: bastla
07.12.2008 um 23:24 Uhr
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
Bitte warten ..
Mitglied: johnsch
08.12.2008 um 16:52 Uhr
hallo, danke f. die antworten.
der tipp mit dem wmi code creator war sehr hilfreich.

so geht es:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_BIOS",,48)
For Each objItem in colItems
Wscript.Echo "SerialNumber: " & objItem.SerialNumber
Next

aber jetzt frag ich mich, muss man das mit einer For Each schleife auslesen oder kann man das Item SerialNumber nicht direkt ansprechen?

Und was bedeutet die 48 in
objWMIService.ExecQuery( _
"SELECT * FROM Win32_BIOS",,48)

gruss john
Bitte warten ..
Mitglied: bastla
08.12.2008 um 17:21 Uhr
Hallo johnsch!

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
scheitert bei mir mit "SWbemObjectSet: Allgemeiner Fehler" - warum, kann ich Dir leider (auch mit Hilfe von Accessing a Collection) nicht beantworten.

Und was bedeutet die 48 ...
http://msdn.microsoft.com/en-us/library/aa393866(VS.85).aspx

Grüße
bastla
Bitte warten ..
Mitglied: johnsch
08.12.2008 um 17:41 Uhr
hi, bin gerade am bastlen und wieder auf das nächste problem gestossen.

Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_NetworkAdapter",,48)
For Each objItem in colItems
Wscript.Echo "Description: " & objItem.Description
Next

Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_NetworkAdapter",,48)

For Each objItem in colItems
Wscript.Echo "MACAddress: " & objItem.MACAddress
Next

hiermit lasse ich mir die netzwerkkarten auflisten und dann die mac adressen.
wie bekomme ich die MAC adressen zu der dazugehörigen netzwerkkarte?
sonst hab ich nur eine liste mit netzwerkkarten, wobei hier auch die ganzen WAN Miniport und Virtual Machine Network Services Driver usw. mit aufgelistet werden. und darunter alle mac adressen, da man dann manuell der richtigen netzwerkkarte zuweisen müsste.

das wäre auch für andere angaben hilfreich, z. bsp. wenn man die festplatten mit der entsprechenden größe auflistet. so hat man immer 2 listen, die man dann verhackstücken muss.

gruss john
Bitte warten ..
Mitglied: bastla
08.12.2008, aktualisiert 24.07.2012
Hallo johnsch!

Einfach alles in einer Schleife abhandeln (sind ja jeweils nur unterschiedliche Eigenschaften des gerade aktuellen Objektes):
Grüße
bastla
Bitte warten ..
Mitglied: johnsch
08.12.2008 um 17:55 Uhr
ja super, da hätte ich auch selber drauf kommen können.
danke
gruss john
Bitte warten ..
Heiß diskutierte Inhalte
Netzwerke
Sicherheitsbetrachtung virtualisierte Umgebung
gelöst Philipp711FrageNetzwerke22 Kommentare

Hallo liebe Community, ich habe eine kleine Frage bzgl. der Netzwerksicherheit in virtualisierten Umgebungen. Beispiel: Ich habe einen Hypervisor ...

Outlook & Mail
Nach Update von Office 2013 auf 2016 funktioniert das Autodiscover nicht mehr
gelöst StefanKittelFrageOutlook & Mail14 Kommentare

Hallo, ich habe hier einen PC mit Win10 Prof (20H2). Darauf installiert war Office 2013 Home and Business. Dieses ...

Notebook & Zubehör
Surface pro 3 oder aktueller
devazubiFrageNotebook & Zubehör11 Kommentare

Moin moin zusammen, ich möchte eine kurze Umfrage/Feedbackrunde starten. Ich habe gerade angefangen Wirtschaftsinformatik berufsbegleitend zu studieren. Ich würde ...

Router & Routing
Mariadb über nginx direkt erreichen?
TastuserFrageRouter & Routing9 Kommentare

Hallo, ich habe eine Dockerumgebung mit einem letsencrypt (neu swag) Container mit nginx und einen mariadb Container. Nun möchte ...

Hardware
Können Netzteile bei dauerhafter Unterbelastung Schaden nehmen?
UweGriFrageHardware9 Kommentare

Guten Abend, mir ist es jetzt 2x vorgekommen, das hochwertige Marken Netzteile die deutlich überdimensioniert sind, Schaden bei dauerhafter ...

Hosting & Housing
Performance mediawiki unter windows10 - (cgi)
jan99FrageHosting & Housing8 Kommentare

Moin! zunächst einmal hoffe ich so einigermassen die richtige Gruppe gewählt zu haben. Ich bin in userem Unternehmen so ...

Ähnliche Inhalte
VB for Applications
VB Script Webseite open
gelöst MrLabelFrageVB for Applications13 Kommentare

Hallo, ich habe ein VB Script geschrieben zur Anmeldung an einer Webseite. Das läuft auch alles gut soweit - ...

VB for Applications
VB-Script per Aufgabenplanung
gelöst S4kar97FrageVB for Applications2 Kommentare

Hallo, Ich habe mir ein VB-Script erstellt, welches im Grunde ein Programm startet und diesem Parameter übergibt und die ...

Batch & Shell
PS1-Script für Textdatei
SachsenHessiFrageBatch & Shell3 Kommentare

Hallo All, folgendes Problem: Ich habe eine Textdatei (Bsp: Musterdaten.txt) die Zeilen der Datei sind ohne Spaltentrenner.(Bsp.: 012562015891 4582 ...

E-Mail
Hilfe bei VB-Script erbeten
gelöst alexander01FrageE-Mail5 Kommentare

Hallo, ich hatte weiter unten schon mal wegen eines Problemes mit dem hmailserver gefragt, jedoch keine Antwort bekommen. Da ...

Windows Server
Drucker entfernen in VB-Script
gelöst NilsvLehnFrageWindows Server2 Kommentare

Hallo ich habe eine kleine Frage bzgl. unseres Anmeldeskriptes. Ich habe ein IT-netzwerk an einer Uni übernommen. Ich arbeite ...

Basic

VB Script meldet "Zugriff verweigert" Fehler ?

gelöst aquiFrageBasic7 Kommentare

Mal eine Newbie Frage an die VB Script Gurus hier im Forum. Ich nutze mit BGInfo ein kleines VB ...

Neue Fragen
Administrator Magazin
11 | 2020 Virtualisierung ist aus der IT nicht mehr wegzudenken. In der November-Ausgabe des IT-Administrator Magazins dreht sich der Schwerpunkt um das Thema "Server- und Storage-Virtualisierung". Darin erfahren Sie, wie sich die Virtualisierungstechnologie entwickelt hat, welche Varianten es im Bereich Server und Speicher gibt und wie ...
Neue Beiträge
Neue Jobangebote
Server- und Storage-VirtualisierungServer- und Storage-VirtualisierungBerechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid Cloud