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-Key: 70941

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

Printed on: April 18, 2024 at 22:04 o'clock

Member: bastla
bastla Oct 15, 2007 at 11:01:32 (UTC)
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
Member: TuXHunt3R
TuXHunt3R Oct 15, 2007 at 11:16:12 (UTC)
Goto Top
Mist, da war einer schneller.....
Member: Computer-Fan
Computer-Fan Oct 15, 2007 at 14:38:38 (UTC)
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.
Member: TuXHunt3R
TuXHunt3R Oct 15, 2007 at 20:06:22 (UTC)
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.
Member: Computer-Fan
Computer-Fan Nov 28, 2007 at 13:25:39 (UTC)
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.