mhard666
Goto Top

Per Batch IP-Adresse zum Hostnamen ermitteln

Ich muss in einer Batch Datei zu einem Hostnamen die dazugehörige IP-Adresse ermitteln.

Hallo allerseits,

ich stehe vor der Herausforderung, in einer Batch über den Hostnamen die IP-Adresse zu ermitteln und diese in der Batch zu verwenden, da aus mir nicht ganz nachvollziehbaren Gründen der weitere Ablauf des Scripts mit dem Hostnamen nicht funktioniert, sondern nur mit der IP-Adresse.
Momentan sieht der Code folgendermaßen aus:

SET HOSTNAME=name.domäne.local
nslookup %HOSTNAME%|find "Address:"  

Als Ergebnis werden die zwei Zeilen ausgegeben, welche mit 'Address:' beginnen - in der ersten Zeile die Adresse des antwortenden DNS, in der zweiten Zeile die IP des Hosts. Ich würde jetzt, die zweite (letzte) Zeile weiterverarbeiten wollen, hab aber keinen richtigen Plan wie.
Kann mir wer einen Tipp geben und wäre das ein gangbarer Weg, bzw. wie kann ich das effektiver machen?

Vielen Dank schon mal.

Gruß mhard666

Content-Key: 176288

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

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

Member: Skyemugen
Skyemugen Nov 15, 2011 at 13:03:49 (UTC)
Goto Top
Aloha,

hm, hatten wir auch erst letztens, wenn auch ein wenig anders ...

Per Schleife wäre es natürlich einfach den letzten Wert zu speichern ...

for /f "tokens=2" %%i in ('nslookup %HOSTNAME%^|findstr "Address:"') do set "HN=%%i"  

greetz André
Mitglied: 60730
60730 Nov 15, 2011 at 13:09:20 (UTC)
Goto Top
moin,

geht doch ganz einfach - und das sollte auch zu finden sein..
ping %HOSTNAME% && for /f "tokens=2" %a in ('nslookup %HOSTNAME%') do set "Horst=%a"

edit

2lslow...
dafür hab ich ne Sicherheit drin, die nur dann die Schleife anwirft, wenn sich der Horst auch via Ping meldet..
Könnte man natürlich auch if not horst=dns1 if not horst=dns2 usw..

Gruß

edit das fehlende ' das beim nachträglichen edit vom Hostname verschlabbert wurde - wieder eineditifiziert.
Danke an Jface-winkchem und seine gute Augen.
/edit
Member: mhard666
mhard666 Nov 15, 2011 at 13:26:30 (UTC)
Goto Top
Hi,

das Beispiel mit der for-Schleife hab ich auch grad aufgetan, allerdings erhalte ich im Ergebnis immer noch zwei Adressen, nämlich die des DNS Servers, der die Abfrage auflöst und die des Hosts.

VG. mhard666

Sorry, ich nehm alles zurück - geht prima. Danke
Mitglied: 60730
60730 Nov 15, 2011 at 13:32:23 (UTC)
Goto Top
moin,

nein....

in einer Schleife, die ein Set ohne Zähler ausführt, wird Treffer einz zuerst gesetzt, dann Treffer 2 und wenns einen Treffer 1.001 gibt auch der.

Da gilt - den letzten beissen die Hunde

Gruß

Probieren (speziell von bereits vorgefertigten Lösungen) - geht über studieren
Mitglied: 60730
60730 Nov 15, 2011 at 13:34:51 (UTC)
Goto Top
face-wink

So und nun entscheide dich...

  • A] Käse gelutscht, grünen Haken dran
  • B]
da aus mir nicht ganz nachvollziehbaren Gründen der weitere Ablauf des Scripts mit dem Hostnamen nicht funktioniert, sondern nur mit der IP-Adresse.

- Wenn du wissen willst, wie B] funktioniert - ohne das Script können wir nicht helfen - mit dem Script vielleicht sicherlich eventuell.
Die Code Blöcke kennst du ja schon - liegt also an dir...

Gruß
Member: Jochem
Jochem Nov 15, 2011 at 13:39:02 (UTC)
Goto Top
Moin T-Mo,

*klug###modus EIN*

Du hast ein (') geschlabbert.

*klug###modus AUS*


Gruß J face-smile chem