Loggare tutti gli accessi ad un dominio e reperire le informazioni del PC


Trace
Vorreste conoscere indirizzo IP, MAC, nome computer e sistema operativo di ogni PC nella rete?

Con lo script giusto eseguito durante il logon possiamo recuperare tutto ciò che ci serve!

Anzitutto bisognerà creare una nuova cartella in c:\windows\logs chiamata LogonLogs

Mkdir %WINDIR%\logs\LogonLogs

Create un file TraceLogon.bat in una cartella condivisa raggiungibile da qualsiasi PC nel dominio quindi modificate il file dello script di logon (dovrebbe essere nella cartella \\nomedominio\netlogon) ed aggiungete una riga che punti al file .bat.
Il file Tracelogon.bat conterrà i seguenti comandi:

@echo off
set GIORNOMESE=%date:~0,2%
SET FileDiLog=\\server\condivisione\\Logon-giorno%GIORNOMESE%.Log
set TAB=	
echo. >>%FileDiLog%

REM ========= VERIFICA TIPO OS ===============
FOR /F "TOKENS=1 DELIMS=." %%O IN ('wmic path Win32_OperatingSystem get version ^| FIND /i "."') DO SET TipoOS=%%O
FOR /F "TOKENS=1 DELIMS=" %%P IN ('wmic path Win32_OperatingSystem get caption ^| FIND /i "Windows"') DO SET DescrizioneOS=%%P

echo ================================= 
echo ================================= >>%FileDiLog%


REM ========= DATA ORA ===============
for /f "tokens=1-4 delims=/ " %%a in ('date /T') do set day=%%a
for /f "tokens=2 delims=/ " %%b in ('date /T') do set month=%%b
for /f "tokens=3 delims=/ " %%c in ('date /T') do set year=%%c
set TODAY=%day%-%month%-%year%
for /f "tokens=1 delims=: " %%h in ('time /T') do set hour=%%h
for /f "tokens=2 delims=: " %%m in ('time /T') do set minutes=%%m
set NOW=%hour% %minutes%
echo Ora%TAB%%TODAY% %NOW% 
echo Ora%TAB%%TODAY% %NOW%>>%FileDiLog%


REM ========= UTENTE, NOME COMPUTER ===============
echo Utente%TAB%%USERNAME%
echo Utente%TAB%%USERNAME%>>%FileDiLog%
echo PC%TAB%%COMPUTERNAME%
echo PC%TAB%%COMPUTERNAME%>>%FileDiLog%
echo OS%TAB%%DescrizioneOS%
echo OS%TAB%%DescrizioneOS% >>%FileDiLog%

REM ========= INDIRIZZO IP ===============
SET IPADDR=
SET OLDIPADDR=
setlocal ENABLEDELAYEDEXPANSION
if [%TipoOS%]==[5] (set COMANDONETSH1=netsh interface ip show address) ELSE (set COMANDONETSH1=netsh interface ipv4 show addresses) 
FOR /F "TOKENS=2* DELIMS= " %%A IN ('%COMANDONETSH1% ^| FIND /i "IP"') DO call :AggiungiIPADDR %%B
echo IP%TAB%%IPADDR%>>%FileDiLog%
endlocal
goto fine-ipaddr
:AggiungiIPADDR
set IP=%1
echo IP%TAB%!IP!
SET IPADDR=!IPADDR!!IP!%TAB%
goto :eof
:fine-ipaddr



REM ========= INDIRIZZI MAC ===============
setlocal ENABLEDELAYEDEXPANSION
FOR /F "TOKENS=1,2 DELIMS=:" %%A IN ('ipconfig /all ^| FIND /i "fisico"') DO call :AggiungiMAC "%%A" "%%B"
echo MAC%TAB%%ListaMAC%>>%FileDiLog%
endlocal
goto fine-MAC
:AggiungiMAC
if %2=="" (
set MAC=%1
set MAC=!MAC: =!
set MAC=!MAC:"=!
echo MAC%TAB%!MAC!
SET ListaMAC=!ListaMAC!!MAC!%TAB%
set MAC=
) else (
set MAC=%2
set MAC=!MAC: =!
set MAC=!MAC:"=!
echo MAC%TAB%!MAC!
SET ListaMAC=!ListaMAC!!MAC!%TAB%
set MAC=
)
goto :eof
:fine-MAC


REM ========= INDIRIZZO DNS ===============
SET IPADDR=
SET OLDIPADDR=
if [%TipoOS%]==[5] (set COMANDONETSH2=netsh interface ip show dns) ELSE (set COMANDONETSH2=netsh interface ipv4 show dnsserver) 
setlocal ENABLEDELAYEDEXPANSION
FOR /F "TOKENS=1,2 DELIMS=:" %%A IN ('%COMANDONETSH2% ^| FIND /i "."') DO call :AggiungiDNS "%%A" "%%B"
echo DNS%TAB%%ListaDNS%>>%FileDiLog%
endlocal
goto fine-DNS
:AggiungiDNS
if %2=="" (
set DNS=%1
set DNS=!DNS: =!
set DNS=!DNS:"=!
echo DNS%TAB%!DNS!
SET ListaDNS=!ListaDNS!!DNS!%TAB%
set DNS=
) else (
set DNS=%2
set DNS=!DNS: =!
set DNS=!DNS:"=!
echo DNS%TAB%!DNS!
SET ListaDNS=!ListaDNS!!DNS!%TAB%
set DNS=
)
goto :eof
:fine-DNS

Ecco un esempio delle informazioni che il batch recupera:

================================= 
Ora	19-03-2015 03 26
Utente	Pippo
PC	PC-20
OS	Microsoft Windows 7 Professional   
IP	192.168.143.48 	127.0.0.1	
MAC	C8-9C-DC-D0-6E-38	
DNS	192.168.143.9	192.168.143.10	

Create poi un file c:\Windows\System32\SpostaLogonLog.bat con il seguente contenuto:

@echo off
set CARTELLAORIGINE=c:\cartellacondivisa
set GIORNOMESE=%date:~0,2%
move /y %CARTELLAORIGINE%\Logon-Giorno*.log %WINDIR%\logs\LogonLogs
echo LOG DEGLI ACCESSI GIORNO %giornomese% > %CARTELLAORIGINE%\Logon-Giorno%giornomese%.log

Pianificate l’avvio del file SpostaLogonLog.bat (come amministratore) alle 0:00 ogni giorno.

Quindi potrete vedere nella cartella %WINDIR%\logs\LogonLogs tutti i files di log dell’ultimo mese.

Pubblicità

Lascia un commento qui

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...