Inventarisierung (1)
@echo off
set PSI=c:\programme\tools\PSTools\psinfo.exe
set ROOT=c:\programme\tools
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=