! ! ! Stand 2010 ! ! !
Allgemeine Informationen
Von den Windows-Servern und Windows-PC's eines Firmennetzwerkes sollen die
Hardwarekonfiguration und die installierte Software ermittelt werden.
IT-Dienstleister müssen immer wieder den Supportaufwand
einschätzen können - nicht nur bei der Kunden-Akquise.
Hilfreich ist dabei eine komplette Liste der im Einsatz
befindlichen Hard- und Software. Diese Liste sollte nach Möglichkeit automatisch und
ohne die Installation von Programmen auf den zu erfassenden Systemen erfolgen.
Die folgenden Lösungen stammen aus dem Jahre 2002 und somit sind einige der folgenden
Ansätze und Aussagen veraltet. Diese Seite bleibt aus 'historischen Gründen'
aktiv. Leider sind einige Links nicht mehr (März 2009) gültig und zeigen ins Leere.
Damals war auf den wenigsten PC's das Windows Management Instrumentation (WMI)
installiert sein.
Lösungen
•
Das dieseyer-Inventar-Projekt vom September 2002.
•
Auswertung.zip von
ralf@eberwein.de verwendet kein WMI:
•
ComputerInfo.zip
von czickler@duckdata.de
nutzt WMI.
•
Eine Lösung mit WMI hat H. Schwichtenberg im
INTEREST Verlag unter
dem Titel "Automatisierte Administration mit Skriptsprachen" veröffentlicht.
Eine Leseprobe
ist mit 070501.pdf
abrufbar.
•
Auf serverwatch.com wird ein
servin.vbs, das die (WMI-)Daten in einer Datenbank
database speichert, in dem Artikel
Using WMI for Inventory Management erklärt.
•
QuellCode>
hardwareinventur.vbs
von
U. Janke
estellt eine Hardwareinventur eines gesamten Netzwerkes in einem Excel-Arbeitsblatt.
•
Zumindest die Software, die eine Uninstall-Routine mitbringt, lässt sich durch
den UniInstall-Registry-Key emitteln. Ein Beispiel zum Auslesen des lokalen
PC zeigt
SW-UnInstall.
•
Bei der Suche in
groups.google.com habe ich ein weitere
Lösung gefunden.
•
. . . und bei MS gibt es ein OnLine-Seminar zu
hardware inventory with WMI
(nur im IE nutzbar).
dieseyer - Lösung in der Version v2.9 vom 10.09.2002:
Alle Bestandteile des
Inventar - Projekt • dieseyer
auf der DownLoad-Seite.
Von der ursprünglichen Idee abweichend, die Inventarisierung per LoginSkript durchzuführen,
kann man die Daten jetzt per Diskette oder CD sammeln. Dazu müssen die Dateien aus
inv-29CD nur auf den Datenträger kopiert werden.
Näheres gibt es am Seitenende.
Also habe ich zwei Skripte (inventar.VBS
und SWinventar.VBS)
geschrieben, mit denen sich die wesentlichen Angaben ermitteln lassen.
Als Hilfe-Datei lässt sich diese Datei verwenden: dse-wsh-inventar29.html.
Außer den Skripten sind zwei Programme (Regobj.dll
und SysID.exe ) erforderlich, die von
'Unabhängigen' kommen:
SysID.exe von http://www.sysid.subnet.dk
RegObj.dll von http://msdn.microsoft.com/vbasic/downloads/addins/componets/default.aspx
Leider wird das Programm SysID.exe nicht weiter gepflegt,
so dass nur ältere Prozessoren korrekt angezeigt werden - für die neueren CPU's werden nur die CPU-ID's
oder -Flags angezeigt. Oder, wenn jemand ein Programm kennt, das als Nachfolger in Frage
kommt, möge er mir das bitte mitteilen.
Anwendung:
Im LoginScript wird der Aufruf von inventar.VBS
eingetragen, damit alle PC's irgendwann mal dran sind und gelistet werden.
Dazu am Besten mit den letzten Zeilen im LoginScript in das Laufwerk bzw. den
Pfad wechseln und das Skript starten:
f:
cd \temp
wscript f:\temp\inventar.vbs
Ab Internet Explorer 5 ist wscript.exe (Windows Script Engine) immer verfügbar.
Im Verzeichnis f:\temp wird f:\temp\#inventar\ angelegt, in dem für jeden geprüften
PC ein Verzeichnis #PCNAME erstellt wird. Durch den Aufruf im LoginScript
ist es eine Frage der Zeit, bis von jedem PC die ersten Info's in den
Verzeichnissen vorliegen.
inventar.VBS ermittelt die IP- und damit
die Netzwerkkonfiguration mittels IPCONFIG bzw. WINIPCFG. RAM- und CPU-Info's
stellt SysID.exe zur Verfügung (siehe
#PCNAME-SysID.TXT). Das wird alles in (f:\temp) .\#inventar\#PCNAME\#PCNAME.TXT gespeichert.
Läuft auf dem getesteten PC Win9x/ME, wird anschließend sofort die Liste der
installierten Software in (f:\temp) .\#inventar\#PCNAME\#PCNAME-SW.TXT
gespeichert. Für PC's mit WinNT/2k muss gelegentlich SWinventar.VBS
von einem User mit netzwerkweiten Administrator-Rechten gestartet werden
(von einem PC oder Server mit WinNT/2k/XP; Win9x/ME dürfte nicht gehen).
Hintergrund: Zum Auslesen der Registry benutzt
SWinventar.VBS die
Regobj.dll von MS.
Mit Regobj.dll
lässt sich nicht nur die Registry des eigenen PC's auslesen, sondern auch die von
entfernten (remote) PC's. Dazu muss die Regobj.dll
auf dem PC installiert/registriert werden. Der Zugriff der Registry auf remote PC's
setzt in der Regel Administrator-Rechte voraus. Deshalb muss man sich auf einem PC
mit netzwerkweiten Administrator-Rechten anmelden um
SWinventar.VBS zu starten. Damit werden
dann die Registry-Werte von den remote PC's ausgelesen.
SWinventar.VBS ermittelt an Hand der
vorhandenen #PCNAME.TXT - Dateien, welche PC's im Netz eingeloggt waren. Gibt es
die #PCNAME-SW.TXT. noch nicht, wird sie erstellt und mit Daten gefüllt.
Gibt es diese Datei schon, was bei Win9x/ME-PC's und bei bereits geprüften
WinNT/2k-PC's der Fall sein sollte, wird die erneut Prüfung übersprungen.
Zunächst versucht SWinventar.VBS,
jeden PC per PING zu erreichen. Von den PC's, die antworten, wird ein Teil
der Registry ausgelesen und in die Datei #PCNAME-SW.TXT abgespeichert.
Um alle PC's zu erreichen sollte
SWinventar.VBS automatisch und regelmäßig
(alle 30min?) gestartet werden. Unter Win2k-Servern und -Arbeitsstationen war
dies über 'geplante Tasks' erfolgreich zu realisieren.
Jeder Aufruf von
inventar.VBS und
SWinventar.VBS
wird in (f:\temp) .\#inventar\inventar.log protokolliert.
Inventar.VBS & SWinventar.VBS von CD starten:
inventar.VBS und
SWinventar.VBS könne jetzt auch von Diskette oder
CD gestartet werden. Es folgt dann eine Abfrage, wo die Daten gespeichert werden sollen:
ob auf Diskette, Netzlaufwerk oder einen lokalen Datenträger.
Will man die Autostartfunktion beim Einlegen einer CD nutzen, müssen noch einige Dateien
zusätzlich kopiert werden. Alle Dateien befinden sich in
inv-29CD.
Die vollständige Dateiliste sieht so aus:
QuellCode>
Autorun.inf
startet Shelexec.exe, das CDStart.VBS startet.
Shelexec.exe ist in
Shelexec.zip von
naughter.com
enthalten und startet die CDStart.VBS.
CDstart.VBS
startet inventar.VBS & SWinventar.VBS mit dem Parameter A:
inventar.VBS
wertet u.a. SysID.exe aus und benutzt bei Win9x RegObj.DLL.
SWinventar.VBS
benutzt die RegObj.DLL.
Sysid.exe
Regobj.dll