38873
Goto Top

Seriennummer aus Bios auslesen und in Datei speichern

Hallo

Ich möchte gerne die Seriennummern aus dem Bios von DELL PC´s auslesen (ServiceTag)
Gibts eine Möglichkeit die Seriennummer auszulesen und mit dem jeweilen %computername% in
eine Textdatei zu schreiben ???

Momentan mache ich das so:

Set wmiobj = GetObject("winmgmts://localhost/root/cimv2:Win32_BIOS")
For Each ver In wmiobj.Instances_
MsgBox ver.SerialNumber

Next

Aber ich wollte das ganze automatisch im Hintergrund ausführen lassen. z.b. über ein login script

Ich bin für jede Hilfe dankbar

Viele Grüße

Marc

Content-Key: 65279

Url: https://administrator.de/contentid/65279

Printed on: April 25, 2024 at 07:04 o'clock

Member: AndreasHoster
AndreasHoster Aug 02, 2007 at 07:23:31 (UTC)
Goto Top
Was spricht dagegen ein VBS Skript im Login-Skript laufen zu lassen?
Gut MsgBox ist jetzt nicht das optimale, aber VBS kann auch in Dateien schreiben.
set fso = CreateObject("Scripting.FileSystemObject")  
set oLog = fso.CreateTextFile("C:\ausgabe.txt",true)  
oLog.Write "Ausgabe"  
oLog.close
Mitglied: 38873
38873 Aug 02, 2007 at 11:14:48 (UTC)
Goto Top
Was spricht dagegen ein VBS Skript im
Login-Skript laufen zu lassen?
Gut MsgBox ist jetzt nicht das optimale,
aber VBS kann auch in Dateien schreiben.
> set fso =
> CreateObject("Scripting.FileSystemObject")  
> set oLog =
> fso.CreateTextFile("C:\ausgabe.txt",true)  
> oLog.Write "Ausgabe"  
> oLog.close
> 


Super! Vielen Dank. Hab es jetzt folgendermaßen lösen können.


set objNetwork = CreateObject("WScript.Network")
strComputerName = objNetwork.Computername

'Computername als Message Box ausgeben
MsgBox strComputerName

Set wmiobj = GetObject("winmgmts://localhost/root/cimv2:Win32_BIOS")
For Each ver In wmiobj.Instances_

'Service Tag bzw. Seriennummer als Message Box ausgeben
MsgBox ver.SerialNumber

set fso = CreateObject("Scripting.FileSystemObject")
set oLog = fso.CreateTextFile("C:\"&strComputername&".txt",true)

'Service Tag und Computernamem in oben vorgegebene Datei schreiben
oLog.Write "DELL Service Tag: "&ver.SerialNumber& vbcrlf &"Computername: "&strComputername

oLog.close

Next

Member: nitro99
nitro99 Oct 25, 2007 at 16:04:40 (UTC)
Goto Top
Hallo,
gibt es eine möglichkeit die Daten im Logonscript abzufragen?
Ich würde gerne die Hostnamen und die Service-Tag´s in eine xls,csv,txt Datei schreiben.
In der Liste sollen dann alle Rechner mit inkl. Service-Tag aufgelistet werden.
Die hier aufgezeigten Lösungen schreiben leider nur lokal Daten in ein Log-File, diese lasse ich mir dann per Mail zusenden.

Eine komplette Liste ist natürlich übersichtlicher face-wink
Für eine Hinweis oder Lösungsansatz wäre ich dankbar.

Gruß
Nitro
Mitglied: 38873
38873 Oct 25, 2007 at 16:14:18 (UTC)
Goto Top
hallo nitro

ich habe damals das skript über den novell login eingebunden und den Pfad wo gespeichert wird einfach auf ein Verzeichnis gelegt welches auf dem Server liegt.

quasi der Auszug hier:

*
set oLog = fso.CreateTextFile("C:\"&strComputername&".txt",true)
*

das passt du gerade an und dann hast du schonmal die einzelne datei in einem von dir vorgegeben laufwerk/verzeichnis liegen.

ich habe mir zusätzlich eine kleine Batch batch geschrieben die mir alle Inhalte der einzelnen txt Dateien in eine "komplett.txt" schreibt. So kann man bequem nach Rechnern bzw. Service Tags suchen.



@echo OFF

REM #############################
REM # Alte Datei löschen #

erase komplett.txt


REM #############################
REM # Inhalt der Textdateien in #
REM # komplett.txt schreiben #

type *.txt >> komplett.txt

***

bitteschön face-smile
Member: nitro99
nitro99 Oct 25, 2007 at 17:56:01 (UTC)
Goto Top
Hallo MuLio,

danke für das schnelle Feedback!
Der Lösungsansatz mit der Batchdatei ist sehr interessant...

Wenn ich die Batch ausführe, wird die komplett.txt so ausgegeben:

DELL Service Tag: To Be Filled By O.E.M.
Computername: LUCKYSTREAMDELL Service Tag: TAG01
Computername: LUCKYSTREAM01DELL Service Tag: Tag02
Computername: LUCKYSTREAM02DELL Service Tag: TAG03
Computername: LUCKYSTREAM03

Irgendwie wird die Formatierung bei der letzten *.txt durcheinander gebracht.
Hier meine Batch:
REM #############################
REM # Alte Datei löschen #

erase c:\log\komplett.txt


REM #############################
REM # Inhalt der Textdateien in #
REM # komplett.txt schreiben #

type c:\test\*.txt >> c:\komplett.txt
Eigendlich sollte es so aussehen:
Computername: xxx Service Tag: xxx
Computername: xxx Service Tag: xxx
Computername: xxx Service Tag: xxx


Die Formatierung und dann alles in ein Excel-Sheet...das wäre der Hammer face-smile eine richtig Formatierte *.txt würde nätürlich auch gehen face-smile

hast du evtl. einen Tip was da falsch läuft?

Gruß
Nitro
Mitglied: 38873
38873 Oct 25, 2007 at 18:01:00 (UTC)
Goto Top
hi

das problem hatte ich auch. soweit ich weiss lag das nur an einem fehlendem absatz.

ich bin grad aufm sprung. ich schau mal nach. ich denke aber dass das problem an dem vbs skript liegt. du musst nach den einträgen einen absatz unterbringen. dann sollte das gehen. ich hatte genau das gleiche problem damals. ich muss mal schauen wo ich die aktuelle version des scripts habe.

ich meld mich spätestens morgen....wenn ich dazu komme

bis dahin -> probier mal ein wenig rum. sollte normal kein thema sein.
Member: nitro99
nitro99 Oct 25, 2007 at 19:08:39 (UTC)
Goto Top
Hallo,

leider habe ich es noch immer nicht hinbekomen...
Mit der Formatierung komme ich irgendwie nicht klar....

Gibt es nicht eine möglichkeit die einzelnen Log-Files in ein Excel-Sheet einzulesen(evtl. per Makro)?

Gruß
Nitro
Mitglied: 38873
38873 Oct 25, 2007 at 20:48:53 (UTC)
Goto Top
hallo,

hab mir eben mal die Mühe gemacht und nach der letzten Variante meines vbs gesucht.

*

set objNetwork = CreateObject("WScript.Network")
strComputerName = objNetwork.Computername

'Computername als Message Box ausgeben
'MsgBox strComputerName

Set wmiobj = GetObject("winmgmts://localhost/root/cimv2:Win32_BIOS")
For Each ver In wmiobj.Instances_

'Service Tag bzw. Seriennummer als Message Box ausgeben
'MsgBox ver.SerialNumber

set fso = CreateObject("Scripting.FileSystemObject")
set oLog = fso.CreateTextFile("\\servername\ordner1\ordner2\CLIENT\DellServTag\"&strComputername&".txt",true)

'Service Tag und Computernamem in oben vorgegebene Datei schreiben
oLog.Write "DELL Service Tag: "&ver.SerialNumber& vbcrlf &"Computername: "&strComputername & vbCrLf & vbCrLf

oLog.close

Next


**

das ausschlaggebende müsste der hier gewesen sein "& vbCrLf" <-

Grüße und viel Erfolg ;)


PS: die mgs box kannst rausnehmen. das hatte ich nur zur kontrolle drinnen
Member: nitro99
nitro99 Oct 26, 2007 at 18:16:02 (UTC)
Goto Top
Hallo muLio,

hat alles super geklappt.
Danke für die Mühe!

Gruß
Nitro
Member: bodyparts
bodyparts May 06, 2009 at 13:45:04 (UTC)
Goto Top
hallo...

das Script ist sehr interessant ... kann ich das auslesen auch in BGInfo inportieren?

zur Zeit lesen ich den Wert:

HKEY_LOCAL_MACHINE\SOFTWARE\Dell Computer Corporation\SysInfo\SerialNumber

aber dort ist der Wert nicht immer eingetragen. Denke dell schreibt diesen auch aus dem Bios ins System. Kann evtl eine Vari schreiben die ich dann mit BGInfo abrufe?

Gruß und danke
Member: aikon
aikon Aug 11, 2010 at 11:50:21 (UTC)
Goto Top
Hallo,

hat hier zufällig jemand eine Lösung zu dem Beitrag von "bodyparts"? Daran wäre ich nämlich auch sehr interessiert.
Wir schreiben unsere ausgelesenen Daten direkt auf einen SQL-Server und lassen uns dann die Daten im Intranet anzeigen mit Benutzernamen und Rechnernamen.
Für Support-Fälle wäre es da nämlich sehr interessant die Service-Tag auszulesen, da es sonst wieder zur Turnschuhadministration wird und unser Gelände ist schon recht groß.

Bin für jede Hilfe dankbar.

Viele Grüße

aikon