panguu
Goto Top

Hostname -f (FQDN ausgeben) für Windows Betriebssysteme

Hallo und einen schönen Freitagabend allerseits,

ich schreibe gerade eine kleine Batch und stehe vor dem Problem, dass ich den Hostnamen der Windowsmaschine auslesen möchte aber als fully-qualified-domainname (FQDN). Unter Linux wäre das einfach zu realisieren mit "hostname -f". In Windows habe ich mich bisher beholfen mit "echo Hostname=%COMPUTERNAME%" jedoch beherbergt diese Variabel %COMPUTERNAME% nur den Hostnamen ohne Domainzusatz.

Wie könnte ich komfortabel und bequem den FQDN auslesen, sowohl auf XP als auch auf Win7 Clients?

Danke an Alle im Voraus und ein schönes Wochenende.

Content-ID: 187602

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

Ausgedruckt am: 26.09.2024 um 23:09 Uhr

lenny4me
lenny4me 06.07.2012 um 17:52:38 Uhr
Goto Top
Huhu.

%computername%.%userdomain%.tld ?

Grüße aus dem Wochenende
panguu
panguu 06.07.2012 aktualisiert um 18:20:10 Uhr
Goto Top
Danke, aber leider wird damit die Domäne ausgegeben, die unter rechtsklick Arbeitsplatz definiert ist. Und %userdnsdomain% geht auch nur wenn der client an der Domäne angemeldet ist. Ich könnte auch mit ipconfig irgendwie das ganze auslesen wüsste aber nicht wie ich da greppen soll face-smile Am genauesten und hilfreichsten in meinem speziellen Falle wäre es, wenn ich den FQDN direkt aus meinem DNS-Server auslesen könnte. Und zwar möchte ich den Namen haben, der ausgespuckt wird wenn ich "nslookup meineIP" eingebe. Als Ergebnis möchte ich nur den Text m"einhostname.suffixvomdhcpserverfallsvorhanden.meinefirma.de" rauskriegen.

Wie mache ich das aber? ich finde nichtmal eine Variable für meine eigene IP damit ich sowas wie "nslookup %mylocalip%" nutzen kann face-smile

die eigene IP Variable generiere ich also mit diesem Einzeiler
"for /f "Tokens=2 Delims= skip=1" %i in ('ping -n 1 %computername%') do set IPAdress=%i"

falls aber noch ein IPv6 Interface aktiv ist, dann wird das genutzt, ist natürlich blöd face-sad

vielbesser wäre das mit "ipconfig | findstr "IPv4" aber wie soll ich das nun mit for /F Tokens kombinieren ??"
bastla
bastla 06.07.2012 um 18:59:06 Uhr
Goto Top
Hallo panguu!
vielbesser wäre das mit "ipconfig | findstr "IPv4" aber wie soll ich das nun mit for /F Tokens kombinieren ??"
Hatten wir neulich (mal wieder) hier ...

Grüße
bastla
panguu
panguu 06.07.2012 aktualisiert um 22:57:48 Uhr
Goto Top
danke für den Link, habs ausprobiert. Jedoch funktioniert das jeweils nur für XP oder Win7, nicht aber für beides. Denn ipconfig spuckt bei XP-Hosts aus "IP-Adresse" während Win7 schreibt "IPv4-Adresse" face-sad wie soll man das unter einen Hut bringen?

Kennt sonst noch jemand einen Einzeiler für diese IP-Variable erstellen? Eieiei... Win doof, ich glaubs ja gar nicht face-smile

EDIT: Juhuuu, ich habs anders gelöst und es scheint zu funktionieren. Anfangs bereitete es mir Probleme, wenn eine Maschine auch IPv6 Interface aktiv hat. Das hatte mir einen Strich durch die Rechnung gemacht, aber mit dem Schalter -4 klappts einwandfrei.

Hier mein Einzeiler:

for /f "Tokens=2 Delims= skip=1" %i in ('ping -n 1 -4 %computername%') do set IP=%i
echo %IP%

und gut is' ;)

Grüße,
Panguu.
filippg
filippg 07.07.2012 aktualisiert um 02:41:46 Uhr
Goto Top
hm.. Hast du ping -a 127.0.0.1 probiert? ping -a liefert eigentlich FQDNs, kann höchstens sein, dass das für localhost anders ist.

Gruß

Filipp
panguu
panguu 07.07.2012 um 11:46:40 Uhr
Goto Top
klappt doch schon alles, bin fertig und durch face-smile

PS: ping -a 127.0.0.1 würde nicht zum Ziel führen

Schönes weekend an Alle.