Batch - nslookup Ausgabe auf Treffer einschränken
Hallo ihr Lieben
Ich habe viele Netze und muss die dann und wann nach DNS Einträgen scannen.
Leider schaffe ich es nicht, die Ergebnisse zu sortieren, schreibe also alle in die .txt und scrolle dann durch.
Weiß jemand einen Weg, wie ich die Ergebnisse von nslookup (Stichwort errorlevel) nutzen kann oder einen anderen Weg, damit nur die Treffer geschrieben bzw. angezeigt werden?
Mein Code: (leicht gekürzt, erstreckt sich natürlich auf ein ganzes .255 und grafische Elemte sind vorhanden zur optischen Trennung)
Grüße ... euer Nollosch
Ich habe viele Netze und muss die dann und wann nach DNS Einträgen scannen.
Leider schaffe ich es nicht, die Ergebnisse zu sortieren, schreibe also alle in die .txt und scrolle dann durch.
Weiß jemand einen Weg, wie ich die Ergebnisse von nslookup (Stichwort errorlevel) nutzen kann oder einen anderen Weg, damit nur die Treffer geschrieben bzw. angezeigt werden?
Mein Code: (leicht gekürzt, erstreckt sich natürlich auf ein ganzes .255 und grafische Elemte sind vorhanden zur optischen Trennung)
@echo off
title Netz nslookup
set time=%time:~0,2%-%time:~3,2%-%time:~6,2%
set date=%date%
if exist c:\nslookup.txt goto :copy
if not exist c:\nslookup.txt goto :ns
:copy
move /y c:\nslookup.txt c:\nslookup__%date%_%time%.txt
:ns
ECHO.
ECHO Vor dem Ausfhren Netzbereich w„hlen! Beispiel: 10.2.3
ECHO.
set /p var=Netzbereich eingeben:
nslookup %var%.1>>c:\nslookup.txt
nslookup %var%.2>>c:\nslookup.txt
nslookup %var%.3>>c:\nslookup.txt
ECHO %date%_%time%>>c:\nslookup.txt
start c:\nslookup.txt
pause
sorry wegen fehlender Formatierung, ist mir leider nicht ersichtlich wie das hier gemacht wird !!!
Grüße ... euer Nollosch
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 175073
Url: https://administrator.de/contentid/175073
Ausgedruckt am: 08.11.2024 um 00:11 Uhr
10 Kommentare
Neuester Kommentar
Aloha,
... da du uns nicht respektieren möchtest (was bei uns in Form von einer Begrüßung und einem Abschlussgruß i.d.R. gepflegt wird), verweise ich dich einfach nur die lustigrote Schrift mit dem Wort Formatierungshilfe, die beim Erstellen von Beiträgen und Kommentaren durchaus ins Auge hämmert, wo du dann ##blue|## Tags findest ...
Was den Rest angeht, wenn der EP stimmt, bin ich auch bereit zu helfen (und viele andere auch ...)
greetz André
P.S.: Seltsam, du hast schon einmal die Codeformatierung gefunden, dort aber keine Begrüßung, dann wieder den Respekt entgegengebracht aber keine Formatierung und heute keines von beiden ... bedauerlich
... da du uns nicht respektieren möchtest (was bei uns in Form von einer Begrüßung und einem Abschlussgruß i.d.R. gepflegt wird), verweise ich dich einfach nur die lustigrote Schrift mit dem Wort Formatierungshilfe, die beim Erstellen von Beiträgen und Kommentaren durchaus ins Auge hämmert, wo du dann ##blue|## Tags findest ...
Was den Rest angeht, wenn der EP stimmt, bin ich auch bereit zu helfen (und viele andere auch ...)
greetz André
P.S.: Seltsam, du hast schon einmal die Codeformatierung gefunden, dort aber keine Begrüßung, dann wieder den Respekt entgegengebracht aber keine Formatierung und heute keines von beiden ... bedauerlich
lad dir von microsoft des visual studio express ist kosten los
http://www.microsoft.com/germany/express/
und machs in vb dann hast kein problem mit nix und du kannst des machen wie du es brauchst.
http://www.microsoft.com/germany/express/
und machs in vb dann hast kein problem mit nix und du kannst des machen wie du es brauchst.
Aloha,
nein, tut mir leid, ich arbeite nicht mit NSLOOKUP
aber du könntest mir ja mal Ergebnisse aus Funden und nicht Funden posten, damit ich weiß, wie das ausschaut und was du dann weggefiltert haben willst.
Auf jeden Fall erst einmal wäre folgendes noch optimaler:
wobei, wenn bei copy nur der onliner steht, kannst du den auch gleich in die Befehlsklammer setzen ...
dürfte dein Skript auch deutlich dezimieren und ich denke, wenn ich weiß, wie deine Sortierung / Filterung aussehen soll, lässt sich die Schleife einfach erweitern und nur Treffer liefern
greetz André
nein, tut mir leid, ich arbeite nicht mit NSLOOKUP
aber du könntest mir ja mal Ergebnisse aus Funden und nicht Funden posten, damit ich weiß, wie das ausschaut und was du dann weggefiltert haben willst.
Auf jeden Fall erst einmal wäre folgendes noch optimaler:
if exist c:\nslookup.txt (goto :copy) else (goto :ns)
for /L %%s in (1,1,255) do >>c:\nslookup.txt nslookup %var%.%%s
greetz André
Aloha,
also wenn ich das richtig sehe und verstehe, sind die Ausgaben, wo nur
Auch die weiteren Optionen zu
greetz André
edit: eventuell nutzt dir die aus Linux stammende Alternative dig eher etwas
also wenn ich das richtig sehe und verstehe, sind die Ausgaben, wo nur
Server
und Address
stehen, die Fehler, sprich non-existent domain
... interessant, dass nslookup
die Fehlermeldung nicht in die Log-Datei schreibt, sondern in der Konsole ausgibt und sich auch nicht per findstr /V
herausfiltern lässt ...Auch die weiteren Optionen zu
nslookup
scheinen mir diesbezüglich wenig hilfreich ... hmm, momentan habe ich leider nicht die Luft, mich genauer hineinzudenken und rumzupfuschen aber die Woche bestimmt noch.greetz André
edit: eventuell nutzt dir die aus Linux stammende Alternative dig eher etwas
Aloha,
... aus den Augen ... naja war eine vollversorgende Woche
Ich hatte ja verstanden, dass du als Ausgabe
willst und nicht nur die Treffer der Zeilen, die
Das liefert dir jetzt
greetz André
... aus den Augen ... naja war eine vollversorgende Woche
Ich hatte ja verstanden, dass du als Ausgabe
Server: dns-server.local
Address: 192.168.1.250
Name: PC1.local
Address: 192.168.1.2
Name
enthalten ... (sonst wär' das Ding hier noch einfacher gewesen als zu Husten)for /L %%s in (1,1,10) do (
for /f "tokens=1,* delims=:" %%m in ('nslookup %var%.%%s^|findstr /n "^"^|findstr "4: 5:"') do echo %%n>>"c:\nslookup.txt"
echo ________________________________>>"c:\nslookup.txt"
)
Das liefert dir jetzt
Name: PC1.local
Address: 192.168.1.2
________________________________
greetz André