hagen00o
Goto Top

Log dateien auswertung vereinfachen

Moin Moin

Ich bin gerade dabei die Hardwareerfassung zu automatisieren.

Nun bekomme ich über kix immer eine logdatei mit verschiedensten Infos der einzelnen PCs allerdings Pro PC eine %Computername%.txt datei ausgeworfen.

ist es möglich diese ganzen infos in eine excel datei zu packen ohne das die bereits vorhandenen daten überschrieben werden sondern eben untendranngehängt oder falls vorhanden nicht eingetragen?
das ganze soll eben automatisiert ablaufen um zeit und aufwand zu ersparen.

die wichtigsten infos welche ich benötige sind.
@1284
PC Name
Bios Serial number
und die Festplattenseriennummer ( lässt sich mit diskid32 wunderbar realisieren)

W7TC-FRTD0177 2008/09/01

Allgemein:

 Letzter Login von: HAGEN00O
 keine Adminrechte
 OS: Windows XP Professional mit Service Pack 2
 IP Adresse: 0
 MAC Adresse: 0019990499A1
 
 Installationsdatum: 20/07/2008
 Name: Intel(R) Celeron(R) D CPU 3.46GHz
 Speichermodule: 2 (512 + 512 MB)
 Total Physical Memory: 1014 MB


Mainboard:

 Hersteller : FUJITSU SIEMENS D2312-A3
 Bios Serial Number: YKAMxxxxx          


Festplatten

 Manufacturer: (Standard disk drives)
 Model: STxxxxxxx
 Seriennummer: 
 Size: 76 GB



To get all details use "diskid32 /d"  

Trying to read the drive IDs using physical access with admin rights

Drive 0 - Primary Controller -  - Master drive

Drive Model Number________________: [STxxxxxxx]
Drive Serial Number_______________: [            6Rxxxxxx]
Drive Controller Revision Number__: [3.AAA]
Controller Buffer Size on Drive___: 8388608 bytes
Drive Type________________________: Fixed
Drive Size________________________: 80026361856 bytes

Trying to read the drive IDs using the SCSI back door

Drive 0 - Primary Controller -  - Master drive

Drive Model Number________________: [STxxxxxxx]
Drive Serial Number_______________: [            6Rxxxxxx]
Drive Controller Revision Number__: [3.AAA]
Controller Buffer Size on Drive___: 8388608 bytes
Drive Type________________________: Fixed
Drive Size________________________: 80026361856 bytes

Trying to read the drive IDs using physical access with zero rights

**** STORAGE_DEVICE_DESCRIPTOR for drive 0 ****
Vendor Id = 
Product Id = [STxxxxxxx]
Product Revision = [3.AAA]
Serial Number = 

**** DISK_GEOMETRY_EX for drive 0 ****
Disk is fixed
DiskSize = 80026361856

Trying to read the drive IDs using Smart

Drive 0 - Primary Controller -  - Master drive

Drive Model Number________________: [STxxxxxxx]
Drive Serial Number_______________: [            6Rxxxxxx]
Drive Controller Revision Number__: [3.AAA]
Controller Buffer Size on Drive___: 8388608 bytes
Drive Type________________________: Fixed
Drive Size________________________: 80026361856 bytes

Hard Drive Serial Number__________:             6Rxxxxxx

Hard Drive Model Number___________: STxxxxxxx

und hier müsste ich eben bestimme werte herauslesen und diese in eine bereits angelegte excel tabelle einpflegen zur kontrolle ob diese werte noch korrekt
sind und per hand ist das bei knapp 800 rechnern ein sehr hoher zeitaufwand. wenn irgendwer ne idee hätte die mich hier weiterbringt wäre super


Mfg Hagen

Content-Key: 95804

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

Printed on: April 18, 2024 at 06:04 o'clock

Member: bastla
bastla Sep 01, 2008 at 13:19:00 (UTC)
Goto Top
Hallo Hagen00o und willkommen im Forum!

Auf die Schnelle ein Batch, um einfach die gewünschten Informationen in eine (in Excel importierbare) CSV-Datei zu bekommen:
@echo off & setlocal
set "InfoFolder=D:\Info"  
set "CSV=%InfoFolder%\ComputerInfo.csv"  

if exist "%CSV%" del "%CSV%"  
for %%c in ("%InfoFolder%\*.txt") do call :ProcessComputer "%%c"  
goto :eof

:ProcessComputer
set "CompName=%~n1"  
for %%i in (User BIOS DriveSerial) do set %%i=
for /f "tokens=4" %%i in ('findstr /c:"Letzter Login von:" %1') do set "User=%%i"  
for /f "tokens=4" %%i in ('findstr /c:"Bios Serial Number:" %1') do set "BIOS=%%i"  
for /f "tokens=5 delims= " %%i in ('findstr /c:"Drive Serial Number_" %1') do set "DriveSerial=%%i"  
>>"%CSV%" echo "%CompName%";"%User%";"%BIOS%";"%DriveSerial%"  
goto :eof
Es werden alle im %InfoFolder% vorhandenen Textdateien verarbeitet, wobei der jeweilige Computername aus dem Namen der Textdatei entnommen wird.

Grüße
bastla

P.S.: Für eine ordentliche Lösung (mit VBA direkt in Excel) fehlt mir gerade etwas die Zeit ...
Member: Biber
Biber Sep 01, 2008 at 13:23:52 (UTC)
Goto Top
Moin Hagen,

Anmerkung von mir:
Ich würde einen Input wie oben aufgeführt als ungeeignet für eine strukturierte Auswertung klassifizieren und mich auf die Suche nach einem besseren Tool zur Inputerzeugung machen.
Z.B. WMIC-Abfragen mit Output im csv-Format.

Grüße
Biber
Member: Hagen00o
Hagen00o Sep 01, 2008 at 13:33:32 (UTC)
Goto Top
danke für die schnelle antwort das mit dem umschrieben klappt super bis auf eine kleinigkeit

wenn kein wert gefunden wurde z.b. in pc23 kopiert die batch file immer den vorherigen wert bis wieder ein txt dokument kommt in dem schon ein wert hinterlegt ist allerdings werden die zuvor dann falsch eingetragen werte nicht mehr erneut überschrieben

denn bei den älteren pc modellen welche hier noch genutzt werden sind leider die bios serien nummern nicht hinterlegt diese sind zum glück das kleinere übel
Member: Hagen00o
Hagen00o Sep 01, 2008 at 13:39:53 (UTC)
Goto Top
mit wimic hab ich mich auch schon auseinander gesetzt allerdings haben die befehle bei mir keien parameter akzeptiert und somit die vorherigen .txtx files überschrieben somit war kix gerade die schnellere lösung bis das ganze vernünftig umgesetzt ist um das dauerhaft laufen lassen zu können
wmic /output:\\server\pfad\%Computername%.txt path Win32_BIOS get Name, SMBIOSBIOSVersion, SerialNumber
Member: bastla
bastla Sep 01, 2008 at 13:41:20 (UTC)
Goto Top
Hallo Hagen00o!

Füge als neue Zeile 11 ein (mach ich oben auch gleich):
for %%i in (User BIOS DriveSerial) do set %%i=
Grüße
bastla
Member: Iwan
Iwan Sep 01, 2008 at 13:47:25 (UTC)
Goto Top
hallo,

als alter Excel-Liebhaber habe ich unsere Rechner hier auch in einer Tabelle inventarisiert, da mit Access da einfach zu kompliziert ist
per VBS frage ich z.B. bei meinen PCs im 7-Tage-Rythmus auch div. Infos (z.B. Hostname, User, Admins, CPU & RAM, HDD-Infos, etc.) ab
wenn möglich, würde ich dir das auch empfehlen, weil es die Sache einfach ungemein erleichtert anstatt mit vielen Skripten rumzuhantieren
man kann dafür relativ einfach WMI-Abfragen anpassen und benutzen, wobei es bei mir gerade mal knapp unter 200 PCs und Laptops sind

ansonsten bliebe wirklich nur Bibers Rat, sich eine entsprechende Software (gibt auch OpenSource) dafür zu besorgen