computer-fan
Goto Top

Rechnernamen zu seiner IP per Batch ermitteln, wie?

Hallo,

ich möchte zu einer Liste von IP - Adressen die Rechnernamen ermitteln mit Hilfe einer BAt - Datei, so wie es einige Win 32 - Tools in einer grafischen Oberfläche auch tun.

Wie kann das realisiert werden?

Danke.

Content-ID: 70941

Url: https://administrator.de/contentid/70941

Ausgedruckt am: 26.11.2024 um 10:11 Uhr

bastla
bastla 15.10.2007 um 13:01:32 Uhr
Goto Top
Hallo Computer-Fan!

Versuch es für eine einzelne IP so:
@echo off & setlocal
set IP=10.10.10.10
for /f "tokens=2 delims=:. " %%i in ('nslookup %IP%^|findstr /b "Name:"') do echo %%i  
Falls Du auch die Domäne anzeigen willst, nur "delims=: " schreiben.

Wenn in Deiner Liste jede IP-Adresse in einer eigenen Zeile steht, könnte es etwa so gehen:
@echo off & setlocal
set "Ein=D:\IP-Liste.txt"  
set "Aus=D:\IP-Liste mit Computernamen.txt"  
if exist "%Aus%" del "%Aus%"  
for /f "usebackq" %%i in ("%Ein%") do for /f "tokens=2 delims=:. " %%n in ('nslookup %%i 2^>nul^|findstr /b "Name:"') do echo %%i=%%n>>"%Aus%"  
Um auch Meldungen über nicht gefundene Rechner zu sehen, "2^>nul" weg lassen.

Grüße
bastla
TuXHunt3R
TuXHunt3R 15.10.2007 um 13:16:12 Uhr
Goto Top
Mist, da war einer schneller.....
Computer-Fan
Computer-Fan 15.10.2007 um 16:38:38 Uhr
Goto Top
Hallo bastla,

vielen Dank werde das gleich mal ausprobieren.


Hallo TuXHunt3R,

sieht deine Lösung genaso aus?

Ziel:
Ich möchte das Script aus diesem Beitrag hier:
Ping Antwort auswerten ? - Ping Antwort auswerten ?

gern erweitern, so das nicht nur da steht welche IP erreichbar ist (also in Betreib ist), sondern auch der Nutzer sieht, wie der PC oder das Gerät (IP-Drucker, usw.) hinter der IP eigentlich heisst.

Danke.
TuXHunt3R
TuXHunt3R 15.10.2007 um 22:06:22 Uhr
Goto Top
Ich hatte was ähnliches vor, d.h. ebenfalls anhand eines Textfiles mit einer For-Schleife alle darin enthaltenen IPs mit nslookup auflösen und in ein Textfile abfüllen. Danach das Textfile ausgeben. So in etwa hätte mein Script auch ausgesehen.
Computer-Fan
Computer-Fan 28.11.2007 um 14:25:39 Uhr
Goto Top
Hallo,

ich habe es jetzt mit dem Skrippt
[Code]
@echo off

set host1=cpnbb
set host2=ppnbb
set host3=lpnbb

goto pingA

:Aon
echo Host 1: %host1% antwortet.
goto pingB

:Aoff
echo Host 1: %host1% ist nicht erreichbar.
goto pingB

:Bon
echo Host 2: %host2% antwortet.
goto pingC

:Boff
echo Host 2: %host2% ist nicht erreichbar.
goto pingC

:Con
echo Host 3: %host3% antwortet.
goto fertig

:Coff
echo Host 3: %host3% ist nicht erreichbar.
goto fertig


:pingA
goto Aon

:pingB
goto Bon

:pingC
goto Con

:fertig
echo.
pause
exit
[/Code]

aus diesem Thread:
Ping Antwort auswerten ?
Ping Antwort auswerten ?

eine Weile versucht und war auch an sich zu frieden, um raus zu finden welcher Rechern Online ist und welcher nicht.

Bis ich feststellte das bei einem Ping über mehrere Routen in einem Privaten Netz Fehler auftreten.
Z.B.:
Ping aus Klasse A-Netz 10.10.0.X über in Netz 10.20.0.X über einen Linux-Router bringt falsche Ergebnisse wenn der anzupingende PC im Ziel-Netz 10.20.0.x ausgeschaltet ist.
Weil die Antwort von dem Linux-Router (10.20.0.1) lautet "Antwort von 10.20.0.1: Zielhost nicht erreichbar." .
Dies wird von dem Scrippt als Online ausgewertet was ja aber falsch ist.

Leider konnte ich dem eigentlichen Thread diesen Fehler nicht posten.
Ist der Thread geschlossen oder zu als zum posten?
Habe einfach keinen Antwort-Button gefunden. Warum?

Könnt ihr mir helfen das Scrippt zu verbessern und den Fehler auszuhebeln?

Danke.