Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Batch - nslookup Ausgabe auf Treffer einschränken

Frage Entwicklung Batch & Shell

Mitglied: Nollosch

Nollosch (Level 1) - Jetzt verbinden

21.10.2011, aktualisiert 20:54 Uhr, 3505 Aufrufe, 10 Kommentare

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)

01.
@echo off 
02.
title Netz nslookup 
03.
 
04.
set time=%time:~0,2%-%time:~3,2%-%time:~6,2% 
05.
set date=%date% 
06.
 
07.
if exist c:\nslookup.txt goto :copy 
08.
if not exist c:\nslookup.txt goto :ns 
09.
 
10.
:copy 
11.
move /y c:\nslookup.txt c:\nslookup__%date%_%time%.txt 
12.
 
13.
:ns 
14.
ECHO. 
15.
ECHO Vor dem Ausfhren Netzbereich w„hlen! Beispiel: 10.2.3 
16.
ECHO. 
17.
 
18.
set /p var=Netzbereich eingeben:   
19.
 
20.
nslookup %var%.1>>c:\nslookup.txt 
21.
 
22.
nslookup %var%.2>>c:\nslookup.txt 
23.
 
24.
nslookup %var%.3>>c:\nslookup.txt 
25.
 
26.
 
27.
ECHO %date%_%time%>>c:\nslookup.txt 
28.
 
29.
start c:\nslookup.txt 
30.
 
31.
pause 
32.
 
33.
 
34.
 
35.
 
36.
sorry wegen fehlender Formatierung, ist mir leider nicht ersichtlich wie das hier gemacht wird !!! 
37.
 
Grüße ... euer Nollosch
Mitglied: Skyemugen
21.10.2011 um 14:53 Uhr
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 <code></code> 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
Bitte warten ..
Mitglied: Weiricth
21.10.2011 um 18:27 Uhr
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.
Bitte warten ..
Mitglied: Nollosch
21.10.2011 um 20:58 Uhr
boar Leute, wie seid ihr drauf.

Ich bin auf Arbeit und kann nicht Ewigkeiten mit Freundlichkeiten und Formatierungen verbringen!

Meine Lösung ist so wie sie ist schon ziemlich geil und absolut tauglich, ich nutze sie jeden Tag.

Nun hätt ich sie doch gern etwas getuned weil ich letztens einen Eintrag "überscrollt" habe.


Arbeitet denn niemand mit nslookup und die Möglichkeiten der Ausgaben?

nslookup write Treffer
nslookup no write kein Treffer
Bitte warten ..
Mitglied: Weiricth
21.10.2011 um 22:12 Uhr
ja und des kannst du mit vb total easy machen ist ein 4 zeiler und fertig.

und ja ich nutze nslookup aber nur händisch bei allem anderen mach ich mir schnell ein script in vb, bezüglich wiederverwendbarkeit ist des einfach sinniger
Bitte warten ..
Mitglied: Skyemugen
23.10.2011 um 09:58 Uhr
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:

01.
if exist c:\nslookup.txt (goto :copy) else (goto :ns)
wobei, wenn bei copy nur der onliner steht, kannst du den auch gleich in die Befehlsklammer setzen ...
01.
for /L %%s in (1,1,255) do >>c:\nslookup.txt nslookup %var%.%%s
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é
Bitte warten ..
Mitglied: Nollosch
25.10.2011 um 13:01 Uhr
Das Ergebnis sieht so aus (gekürzt). Die Trennlinien sind ein simples ECHO Unterstrich.
Die Blöcke, die nur den DNS-Server wiedergeben, hätte ich gern nicht geschrieben oder wenn, dann an am Ende oder in eine seperate .log (.txt).
Leider gibt nslookup irgendwie keinen passenden errorlevel aus, bei "... nicht gefunden: Non-existent domain".

Siehst Du da eine Möglichkeit?

Im Grunde hast Du Recht, aber ich bin mit Schleifen nicht so gut, werde mich bei passender Gelegenheit aber natürlich damit näher befassen!

01.
Server:  dns-server.local 
02.
Address:  192.168.1.250 
03.
 
04.
________________________________ 
05.
Server:  dns-server.local 
06.
Address:  192.168.1.250 
07.
 
08.
Name:    PC1.local 
09.
Address:  192.168.1.2 
10.
 
11.
________________________________ 
12.
Server:  dns-server.local 
13.
Address:  192.168.1.250 
14.
 
15.
Name:    PC2.local 
16.
Address:  192.168.1.3 
17.
 
18.
________________________________ 
19.
Server:  dns-server.local 
20.
Address:  192.168.1.250 
21.
 
22.
Name:    SWITCH1.local 
23.
Address:  192.168.1.4 
24.
 
25.
________________________________ 
26.
Server:  dns-server.local 
27.
Address:  192.168.1.250 
28.
 
29.
________________________________ 
30.
Server:  dns-server.local 
31.
Address:  192.168.1.250 
32.
 
33.
________________________________ 
34.
Server:  dns-server.local 
35.
Address:  192.168.1.250 
36.
 
37.
________________________________ 
38.
Server:  dns-server.local 
39.
Address:  192.168.1.250 
40.
 
41.
________________________________ 
42.
Server:  dns-server.local 
43.
Address:  192.168.1.250 
44.
 
45.
________________________________ 
46.
Server:  dns-server.local 
47.
Address:  192.168.1.250 
48.
 
49.
________________________________ 
50.
Server:  dns-server.local 
51.
Address:  192.168.1.250 
52.
 
53.
________________________________ 
54.
Server:  dns-server.local 
55.
Address:  192.168.1.250 
56.
 
57.
________________________________ 
58.
Server:  dns-server.local 
59.
Address:  192.168.1.250 
60.
 
61.
________________________________ 
62.
Server:  dns-server.local 
63.
Address:  192.168.1.250 
64.
 
65.
________________________________ 
66.
Server:  dns-server.local 
67.
Address:  192.168.1.250 
68.
 
69.
________________________________ 
70.
Server:  dns-server.local 
71.
Address:  192.168.1.250 
72.
 
73.
________________________________ 
74.
Server:  dns-server.local 
75.
Address:  192.168.1.250 
76.
 
77.
________________________________ 
78.
Server:  dns-server.local 
79.
Address:  192.168.1.250 
80.
 
81.
________________________________ 
82.
Server:  dns-server.local 
83.
Address:  192.168.1.250 
84.
 
85.
________________________________ 
86.
Server:  dns-server.local 
87.
Address:  192.168.1.250 
88.
 
89.
________________________________ 
90.
Server:  dns-server.local 
91.
Address:  192.168.1.250 
92.
 
93.
________________________________ 
94.
Server:  dns-server.local 
95.
Address:  192.168.1.250 
96.
 
97.
________________________________ 
98.
Server:  dns-server.local 
99.
Address:  192.168.1.250 
100.
 
101.
________________________________ 
102.
Server:  dns-server.local 
103.
Address:  192.168.1.250 
104.
 
105.
________________________________ 
106.
 
Bitte warten ..
Mitglied: Skyemugen
25.10.2011 um 13:57 Uhr
Aloha,

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
Bitte warten ..
Mitglied: Nollosch
25.10.2011 um 17:17 Uhr
Hi

Finde ich erwähnenswert nett, dass Du deine Zeit dafür aufwendest.

Wenn ich nur wüsste, wie ich die Ergebniss unterscheiden kann, dann würde ich mir schon was basteln.

Evtl. mit Ausgabe in Variable -> dann if Variable "non-existent domain" >nul und if not dann >c:\nslookup.txt.

Wäre das vielleicht ein Weg? Was meinst Du?

Greetz an Alle
Bitte warten ..
Mitglied: Nollosch
31.10.2011 um 17:31 Uhr
Eine mögliche Lösung ist.

findstr Name: c:\nslookup.txt >c:\nslookup-Treffer.txt

Dies am Ende der Batch und ich habe die Treffer sauber aufgelistet.
Bitte warten ..
Mitglied: Skyemugen
01.11.2011 um 07:43 Uhr
Aloha,

... 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
willst und nicht nur die Treffer der Zeilen, die Name enthalten ... (sonst wär' das Ding hier noch einfacher gewesen als zu Husten)

01.
for /L %%s in (1,1,10) do ( 
02.
	for /f "tokens=1,* delims=:" %%m in ('nslookup %var%.%%s^|findstr /n "^"^|findstr "4: 5:"') do echo %%n>>"c:\nslookup.txt" 
03.
	echo ________________________________>>"c:\nslookup.txt" 
04.
)
Das liefert dir jetzt
Name:    PC1.local 
Address:  192.168.1.2 
________________________________
greetz André
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch ausgabe zeilenweise stat spaltenweise ausgeben (4)

Frage von sugram zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch (Win7): Kombinierte Ausgabe mit echo? (1)

Frage von Ben.Blake.79 zum Thema Batch & Shell ...

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...