PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IPAddresse zu hostnamen



mamue
21-07-2003, 22:22
Ich installiere eine Reihe von PC, indem ich images kopiere.
Am Ende haben alle den gleichen NetBIOS-namen, sagen wir PLUTO.
Die PC beziehen ihre IP per DHCP, also könnte ich mit einem kleinen Script den NetBIOS-Namen auslesen und mit dem DNS-Namen vergleichen. Sind sie unterschiedlich, betrete ich die Arbeitsgruppe und ändere den Namen.
Ich erhalte die korrekte IP mit Hilfe von WMI (WQL).
nslookup zeigt mir den korrekten Namen an, hier uranus.
Für den DNS-lookup verwende ich derzeit ASPDNS und genau das schlägt fehl:
var DNS = new ActiveXObject("ASPDNS.DNSLookup");
DNSHostname = DNS.GetNameFromIP( 172.18.0.28 );
var WshNetwork = new ActiveXObject( "WScript.Network" );
var hostname = WshNetwork.ComputerName;

nslookup 172.18.0.28
uranus
DNSHostname laut ASPDNS:
pluto !!
hostname laut "registry":
pluto (korrekt, weil aus Image)
DNSHostname und hostname sind immer gleich, ASPDNS scheint ebenfalls den in der registry eingestellten Hostnamen zurückzugeben, nicht wie nslookup!

Was kann ich machen, gibt es noch andere Möglichkeiten, den korrekten Hostnamen aus dem Nameserver "herauszupuhlen"?

Ich suche jetzt schon seit Tagen, finde aber rein gar nichts.

tausend Dank,
mamue

P.S.: Ach ja, win2k, kein ServicePack

Edit: Jeder Hack ist mir willkommen, notfalls per anderen Befehl in eine Datei schreiben und diese auslesen, nur die nslookup ausgabe in jscript zu parsen, fände ich etwas heftig, oder?

anda_skoa
21-07-2003, 23:15
Kannst du dir nicht vom DHCP Server auch gleich einen Hostname zuteilen lassen?

Ciao,
_

mamue
22-07-2003, 10:03
Erst einmal muss ich mich, glaube ich, dafür entschuldigen, dass ich eine windows Frage ins mr_unix_ Forum stelle. Ich bin halt viel im linux-forum und las nur den Verweis auf das "Programmiersprachen" Forum. Es war halt schon spät.

Nein, win2k und höher bezieht nicht den hostnamen per DHCP. Das würde auch nicht ins KOnzept passen, denn mit dem Namen hängt auch die Domänenmitgliedschaft zusammen.

Ich habe als ersten Beitrag im Forum einen Hinweis zu Perl und DNS gelesen, jetzt werde ich mal schauen, ob ActivePerl (Perl für WIndows) vielleicht auch registry Schlüssel lesen und schreiben kann.

WIndows lässt sich halt immer noch erheblich schlechter scripten als Unix :(

Danke,
mamue

anda_skoa
22-07-2003, 11:08
Nur so geraten:
DNSHostname = DNS.GetNameFromIP( 172.18.0.28 );

Bist du dir sicher, dass du die Adresse so angeben kannst und sie nicht unter "" oder so setzen musst?

Ciao,
_

mamue
22-07-2003, 12:41
Original geschrieben von anda_skoa
Nur so geraten:
DNSHostname = DNS.GetNameFromIP( 172.18.0.28 );

Bist du dir sicher, dass du die Adresse so angeben kannst und sie nicht unter "" oder so setzen musst?

Ciao,
_
Natürlich bin ich mir nicht sicher, darum habe ich ja auch beides ausprobiert. :confused:

mamue