64965
Goto Top

Infos über Computer über Batch einholen

Hi,

ich möchte gerne über ein Script, welches ich vom Server aus starte und damit auf die einzelnen Clients zugreife und Systeminformationen auslesen kann.
Ich brauche folgende Informationen:
-Computername
-IP
-MAC
-Betriebssystem
-RAM
-Service-Tag (es handelt sich ausschließlich um DELL Rechner)
-installierte Programme (hier reicht es wenn ich die Pfade abfrage: wenn C:\Programme\Internet Explorer vorhanden dann ....)

Leider bin ich bin in der "batch Programmierung" nur bedingt ausgebildet und hab deshalb ein paar Fragen:

Wie greife ich in der cmd auf andere Rechner zu?
Ich kenne bereits den Befehl call systeminfo der mir schon eine Menge Infos liefert. Diese in eine Datei zu schreiben ist auch kein Problem.
Wenn ich aber das selbe mit call ipconfig /all mache und diese auch versuche in die gleiche Datei zu schreiben zeigt er mir zum einen viel zu viel Informationen an (benötige nur IP/MAC/Computername) und zum anderen überschreibt er mir die den Inhalt.
Ich möchte nicht für jede Abfrage eine neue Datei. Gibt es eine Möglichkeit den Inhalt unten anzuhängen? (vll alles in verschiedene Variablen schreiben und diese dann in eine Datei schreiben?! )
Wie ist es bzw ist es überhaupt möglich die Service Tag auszulesen?
Bei den installierten Programmen wäre es schön zu wissen, ob es geht sich eine Liste aller installierten Programme ausgeben zu lassen. Ist aber für mein Vorhaben nicht zwingend notwendig.

So das wars erst mal. Falls noch fragen eureseits bestehen, lasst es mich wissen.

Grüße

Content-Key: 114727

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

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

Mitglied: 45877
45877 Apr 27, 2009 at 08:47:57 (UTC)
Goto Top
hallo,

batches ausführen auf entfernten rechnern kannst du z.b. mit psexec aus den pstools von microsoft.
werte in einer txt datei anhängen geht mit >> statt > .
aber warum nimmst du nicht gleich eine fertige inventarisierungssoftware, gibt es ja genug und auch opensource und kostenlos.
Member: xm-bit
xm-bit Apr 27, 2009 at 09:02:00 (UTC)
Goto Top
Hi,

schau doch mal hier:

http://www.gaijin.at/dlsysreport.php

http://technet.microsoft.com/de-de/magazine/2007.08.utilityspotlight.as ...

Ich hoffe, das es dich ein wenig weiter bringt...

mfg
Sascha
Mitglied: 25110
25110 Apr 27, 2009, updated at Oct 18, 2012 at 16:38:04 (UTC)
Goto Top
Hallo,

eine weitere Möglichkeit wäre BGinfo:


mfg
Member: tobi83
tobi83 Apr 27, 2009 at 09:25:46 (UTC)
Goto Top
Hi,

ACMP ist ganz gut

Ist zwar nicht genau das was du willst aber auch ganz gut

Kannst du dir hier herunterladen wenn du willst. face-smile

http://www.aagon.com/index.php/de/produkte/acmp-inventory.html

Aber mit BGinfo habe ich auch schon gute Erfahrungen gemacht.

MfG
Mitglied: 64965
64965 Apr 27, 2009 at 09:50:34 (UTC)
Goto Top
Ihr seit ja krass! Das ging ja schnell ^^

Wir haben bereits eine Inventarisierungssoftware im Einsatz ( http://www.i-doit.org/ ). Es handelt sich dabei auch um Open Source. Das Tool ist ganz nett, aber die Entwickler haben es wohl ein bisschen zu gut gemeint ...Um einen Eintrag zu löschen muss man ihn zuerst "Archivieren" , dann "Löschen" (das Löschen ist aber noch kein richtiges Löschen) und dann schließlich "Purgen" ... Gott wie das nervt!!! Aber das ist ein anderes Thema.
Es ist so, dass wir unseren Bestand an Computern schon eingetragen haben, aber da beiuns sehr kurzfristig mal Rechner gebraucht werden und auch einfach so rausgegeben werden, ist es nciht mehr auf dem neusten Stand. Und um mir diese Abfrage so bequem wie möglich zu gestalten und auch zu späteren Zeitpunkt wieder einsetzen möchte, hätte ich dafür gerne ein Script.

mfg
Mitglied: 64965
64965 Apr 28, 2009 at 08:48:09 (UTC)
Goto Top
So ich habe bereits an wenig daran rumgebastelt und schon erste Resultate vorzubringen:

Beim jetzigen Stand speichert es mir die Werte in eine Datei. Der Inhalt dieser Datei sieht folgender Maßen aus:

Hostname: WSXX
Betriebssystemname: Microsoft Windows XP Professional
Systemmodell: OptiPlex 755
Gesamter physikalischer Speicher: 2.014 MB
Physikalische Adresse . . . . . . : 00-50-56-C0-00-08
IP-Adresse. . . . . . . . . . . . : 192.168.4.1
Physikalische Adresse . . . . . . : 00-50-56-C0-00-01
IP-Adresse. . . . . . . . . . . . : 192.168.179.1
Physikalische Adresse . . . . . . : 00-xx-xx-xx-xx-xx
IP-Adresse. . . . . . . . . . . . : 192.168.1.xxx

Programme:
installiert: Avira
installiert: Office Outlook
installiert: Firefox
installiert: Open Office
nicht installiert: Photoshop Elements
nicht installiert: Nero


Mein Problem ist u.a. das es mit die IP's und MAC der Virtuellen Verbindungen anzeigt. Ich weiß aber nicht wie ich das ausklammern kann. Die Abfrage erfolgt über :

call ipconfig /all | findstr /C:"IP-Adresse" /C:"Physikalische Adresse" >> info.txt

Des Weiteren wollte ich fragen wie ich eine Variable von einem vbs Script an das Ende der Datei hänge. Ich hab im Netz ein kleines vbs Scripte gefunden, welches die Service-Tag ausliest:

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

Das ganze möchte ich jetzt aber nicht in einer MsgBox sonder in der info.txt
Hab es schon so versucht, das hat aber nicht geklappt:

Set wmiobj = GetObject("winmgmts:
localhost/root/cimv2:Win32_BIOS")
For each ver in wmiobj.Instances_
Dim Kanal As Integer
Kanal = FreeFile
Open "C:\info.txt" For Output as #Kanal
Print #1, ver.SerialNumber
Close #Kanal

Wird mit dem Fehler "Anweisungsende erwartet" in Zeile 3 beendet.

Grüße