Announcement

Collapse
No announcement yet.

Unbekannte Computer ohne SEP im Netz auffinden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    Unbekannte Computer ohne SEP im Netz auffinden

    Dank der Arbeit von Gebhard und mriedel kann ich euch heute eine gute Lösung präsentieren, mit der ihr unbekannte Computer ohne SEP im Netz auffinden könnt. Im ersten Schritt sammelt ein Skript alle Rechner aus dem Netz über einen nmap Scan ein. Im zweiten Schritt holt eine SQL Abfrage den Bestand von Computern aus der SEPM-Datenbank und im dritten Schritt werden beide Daten miteinander verglichen. Gebhard und mriedel haben mir freundlicherweise Schritt 1 und 2 überlassen, vielen Dank dafür!

    1. Scan nach Computern mit nmap
    Code:
    @echo off
    
    :: Programm zum aufrufen des Nmap-Scans
    
    :: erstellen der outdatei PCxxx100.csv
    	echo mgmtpc: %computername% > C:\%computername%.csv
    	
    :: aufrufen des Programmes iprange um das Netzsegment, für das der MGMT-PC zuständig ist, zu ermitteln
    	%systemroot%\iprange.exe -i 0 |findstr "von">%temp%\1.ip
    
    	:: nur adresse in Variable ip_von stellen
    	for /F "tokens=1,2 delims=:" %%i in (%temp%\1.ip) do set ip_von=%%j
    		:: Leerstelle Entfernen
    		set IP_von=%ip_von:~1%
    		
    :: Herausfinden der Subnetmaske
    	for /F "tokens=2 Delims=:" %%i in ('ipconfig^|findstr "Mask"') do set mask=%%i
    	set mask=%mask:~1%
    	echo %mask% >%temp%\mask.tmp
    
    	:: durchforsten nach dem ausschlaggebenen 3. Netz
    		for /f "tokens=3 delims=." %%i in (%temp%\mask.tmp) do set ip=%%i
    
    		:: wenn Netz ist 248 -> Range 21, bei 252 -> Range 22
    			if %ip%==248 set range=21
    			if %ip%==252 set range=22
    
    :: aufrufen Nmap
    	"%programfiles%\Nmap\nmap.exe"  -O -oN C:\%computername%.csv --append-output "%ip_von%/%range%"
    	
    :: kopieren der Outdatei auf unseren Server
    	set server=xxx
    	NET USE \\%server%\xxx /user:xxx\xxx
    	
    	:: pause von 50 sekunden, damit nicht alle gleichzeitig abliefern
    	::	ping loopback -n 50 >nul >2nul
    		
    	copy C:\%computername%.csv \\%server%\Protokolle\%computername%.csv /y
    	NET USE \\%server%\ /delete 2>nul
    	
    	goto :ende
    
    :ende
    del %temp%\1.ip
    del %temp%\mask.tmp
    2. SQL Abfrage
    Code:
    use SEPM
    SELECT
    c.computer_name, c.current_login_user, c.MAC_ADDR1, c.MAC_ADDR2, c.MAC_ADDR3, c.MAC_ADDR4, a.agent_version, DATEADD(S, a.TIME_STAMP /
    1000,'19700101 00:00')as Datum, P.version FROM (sem_computer AS C INNER JOIN SEM_AGENT AS A ON C.COMPUTER_ID=A.COMPUTER_ID) INNER JOIN PATTERN AS P ON A.PATTERN_IDX = P.PATTERN_IDX ORDER BY P.VERSION
Working...
X