Inventur mit PSInfo
Einfache 'Inventur' der Windows-Rechner in einer Windows-Domäne
Die Informationen pro Rechner in einem Windows-Domänen-Netzwerk kann man einfach per CMD-Script und dem Tool PsInfo (http://technet.microsoft.com/de-de/sysinternals/bb897550.aspx) ermitteln.
Dafür muss das Progrämmchen mit den entsprechenden Optionen pro Rechner aufgerufen werden:
Die Liste aller Rechner ermittelt man auf dem DC mit dem Befehl
Das Script läuft z.B. täglich zur Mittagszeit (da sind die meisten Rechner erreichbar) auf dem DC per Taskplaner.
Nun das Script psinfo-alle.cmd:
Am Ende hat man eine Datei
Viel Spaß wünscht
Laster
Die Informationen pro Rechner in einem Windows-Domänen-Netzwerk kann man einfach per CMD-Script und dem Tool PsInfo (http://technet.microsoft.com/de-de/sysinternals/bb897550.aspx) ermitteln.
Dafür muss das Progrämmchen mit den entsprechenden Optionen pro Rechner aufgerufen werden:
psinfo.exe -s -d \\rechnername
Die Liste aller Rechner ermittelt man auf dem DC mit dem Befehl
dsquery computer -o rdn
Das Script läuft z.B. täglich zur Mittagszeit (da sind die meisten Rechner erreichbar) auf dem DC per Taskplaner.
Nun das Script psinfo-alle.cmd:
@echo off
:: Ort von psinfo.exe und Arbeitsverzeichnis
set PSI=c:\programme\tools\PSTools\psinfo.exe
set ROOT=c:\programme\tools
:: weitere Variablen
set LOG=%ROOT%\psinfo-alle.log.txt
set RELI=%ROOT%\psinfo-rechnerliste.txt
set TMP=%ROOT%\~temp.txt
set ARP=
set IPA=
cd /d %ROOT%
echo "Start" > %LOG%
:: Liste alle Rechner aus der Domäne in Datei
dsquery computer -o rdn > %RELI%
:: die Datei mit den Rechnernamen 'durchgehen'
for /F %%i IN (%RELI%) do call :TESTA %%i
goto ENDE
:: IP, MAC und PSInfo-Daten pro Rechner ermitteln und in LOG schreiben
:TESTA
set COMP=%1
set COMP=%COMP:"=%
echo --^<START^>-------------------- >> %LOG%
echo Rechner: %COMP%
echo ^>^> Rechner: %COMP% >> %LOG%
ping -n 1 -w 200 %COMP% > %TMP%
if "%errorlevel%"=="1" goto MISTA
call :GETMAC
echo ^>^> IPA: %IPA% >> %LOG%
echo ^>^> MAC: %ARP% >> %LOG%
%PSI% -d -s \\%COMP% >> %LOG%
goto TSTA2
:MISTA
echo ### nicht erreichbar ### >> %LOG%
:TSTA2
echo ==^</START^>==================== >> %LOG%
echo. >> %LOG%
goto :EOF
:: MAC-Adresse von Rechner
:GETMAC
For /F "tokens=3 Delims= " %%i in ('type %TMP% ^| Find "Antwort "') Do @Set IPA=%%i
set IPA=%IPA::=%
echo IPA=[%IPA%]
For /F "tokens=2 Delims= " %%i in ('arp -a ^| find "%IPA%"') Do @Set ARP=%%i
echo ARP=[%ARP%]
goto :EOF
:ENDE
del %TMP%
set PSI=
set ROOT=
set LOG=
set RELI=
set TMP=
set ARP=
set IPA=
Am Ende hat man eine Datei
psinfo-alle.log.txt
in der alle Rechner mit ihren Daten (OS, Hardware, Software) aufgelistet sind.Viel Spaß wünscht
Laster
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 125713
Url: https://administrator.de/knowledge/inventur-mit-psinfo-125713.html
Ausgedruckt am: 23.12.2024 um 04:12 Uhr
7 Kommentare
Neuester Kommentar
Nicht schlecht, für eine kleine Firma sicher eine gute Lösung. Die Idee von DerWoWusste mit dem Loginscript finde ich allerdings auch gut.
Ich würde aber so etwas lieber mit PowerShell oder VBS machen und das Ganze dann in eine SQL-DB schreiben. Ich bin momentan an so etwas dran und werde es irgendwann mal veröffentlichen.
Ich würde aber so etwas lieber mit PowerShell oder VBS machen und das Ganze dann in eine SQL-DB schreiben. Ich bin momentan an so etwas dran und werde es irgendwann mal veröffentlichen.
Hallo,
tut mir Leid diesen alten Thread nochmal aufzuwärmen, aber ich find die Idee des Skriptes gut und würde dies auch gerne verwenden. Leider funktioniert es bei mir nicht so richtig. Ich bekomme zwei Fehler.
Der Rechnername wird richtig erkannt, aber nicht die MAC und die IP: (bezieht sich, glaube ich, auf Zeile 47-52 im Skript)
Rechner: XXX
Access is denied.
token=3 Delims= " was unexpected at this time.
IPA=[:=]
ARP=
An den Administrator-Rechten sollte es nicht liegen, die habe ich.
Die zweite Meldung die kommt lautet:
C:\DOCUME~1\XXX\LOCALS~1\Temp\*, Are you sure (Y/N)? y
C:\DOCUME~1\XXX\LOCALS~1\Temp\A9R8870.tmp
The process cannot access the file because it is being used by another process.
Die Temp Datei sollten doch unter dem ROOT-Verzeichnis liegen, welche ich (in Zeile 05) mit "set ROOT=F:\sysinternals" angegeben habe.
Wäre nett wenn mir jemand helfen könnte die Fehler auszumärzen, da ich noch Einsteiger der Batchprogrammierung bin.
Vielen Dank
tut mir Leid diesen alten Thread nochmal aufzuwärmen, aber ich find die Idee des Skriptes gut und würde dies auch gerne verwenden. Leider funktioniert es bei mir nicht so richtig. Ich bekomme zwei Fehler.
Der Rechnername wird richtig erkannt, aber nicht die MAC und die IP: (bezieht sich, glaube ich, auf Zeile 47-52 im Skript)
Rechner: XXX
Access is denied.
token=3 Delims= " was unexpected at this time.
IPA=[:=]
ARP=
An den Administrator-Rechten sollte es nicht liegen, die habe ich.
Die zweite Meldung die kommt lautet:
C:\DOCUME~1\XXX\LOCALS~1\Temp\*, Are you sure (Y/N)? y
C:\DOCUME~1\XXX\LOCALS~1\Temp\A9R8870.tmp
The process cannot access the file because it is being used by another process.
Die Temp Datei sollten doch unter dem ROOT-Verzeichnis liegen, welche ich (in Zeile 05) mit "set ROOT=F:\sysinternals" angegeben habe.
Wäre nett wenn mir jemand helfen könnte die Fehler auszumärzen, da ich noch Einsteiger der Batchprogrammierung bin.
Vielen Dank