Frage Entspricht der Linux-Befehl `hostname --fqdn` in Windows XP?


Gibt es eine Möglichkeit, den vollqualifizierten Domänennamen einer Windows XP-Box zu finden?

Wenn ich mit Windows nicht vertraut bin, würde ich beschreiben, wonach ich als Äquivalent des Befehls suche hostname --fqdn verfügbar in Linux.


28
2017-10-12 12:46


Ursprung




Antworten:


Sie finden es in den Systemeigenschaften (Registerkarte "Computername").

Mit der Befehlszeile können Sie ausführen IPCONFIG /ALL und werfen Sie einen Blick auf die Felder "Hostname" und "Primäres DNS-Suffix".


16
2017-10-12 12:56



Die zwei verschiedenen Arten geben unterschiedliche Ergebnisse. ipconfig gibt an, was ich erwartet habe, aber auf der Registerkarte "Computername" ist die Domäne anders. Es sieht eher nach einem Workgroup-Namen als nach einem Domänensuffix aus. Ist das eine Windows-spezifische Sache, wo sie irgendwie gleichwertig sind? - Grundlefleck
Auf der Registerkarte "Computername" sollten Sie den Wert "Vollständiger Computername" anzeigen. Der Wert "Domäne" ist die Windows-Domäne (oder Arbeitsgruppe), der der Computer angehört. - Massimo
Ah richtig. Nun, es muss etwas mit der Installation auf diesem Rechner nicht stimmen, da nur der Hostname (mit einem Punkt am Ende) angezeigt wird. Hätte wohl nicht die Frage stellen müssen, ob sie es wie erwartet gezeigt hätte :-D. +1 - Grundlefleck
Haben Sie versucht, auf "Ändern" und dann auf "Mehr" zu klicken? - Massimo
Denken Sie daran, einige Systeme sind lokalisiert, so dass die Suche nach der richtigen Zeile von nr in einigen Fällen besser sein kann (es ist Zeile 5 afaik). - RnR


Es gibt keine solche Option für die hostname Befehl in Fenstern. Dies sollte jedoch den Trick machen:

echo %COMPUTERNAME%.%USERDNSDOMAIN%

Oder du kannst grep (unter Windows: find /I "string") für Host- und Domain von set oder systeminfo oder ipconfig -all benennen Sie es und kleben Sie es woanders zusammen.

Bearbeiten: Typo korrigiert. Danke Benoit

Aktualisieren: Die Variable %USERDNSDOMAIN% ist nur verfügbar, wenn Sie bei einer Domäne angemeldet sind ... Das DNS-Suffix, das Sie von einem DHCP-Server erhalten, wird nicht in eine Umgebungsvariable eingegeben (soweit ich das herausfinden konnte).


25
2017-10-12 13:23



Die zweite Variable ist "% USERDNSDOMAIN%". - Benoit
% USERDNSDOMAIN% scheint auf diesem System keine Variable zu sein. Wenn ich nicht etwas falsch mache: H: \> echo% COMPUTERNAME%.% USERDNSDOMAIN% [korrekter Name].% USERDNSDOMAIN% - Grundlefleck
Ach, vergaß das Einfügen, das wäre in den Kommentaren schrecklich. - Grundlefleck
Sie können verwenden WMIC Domain-Name abrufen: wmic computersystem get domain - Noam Manos


Der Befehl lautet:

ping -a localhost

8
2017-08-25 22:33





VBScript:

' Print FQDN in lower case letters
' Volker Fröhlich (2011)

option explicit
dim Message
dim output
dim WshShell, objEnv
dim mydomain

' Read value from registry
function readFromRegistry (strRegistryKey, strDefault )
    Dim WSHShell, value

    On Error Resume Next
    Set WSHShell = CreateObject("WScript.Shell")
    value = WSHShell.RegRead( strRegistryKey )

    if err.number <> 0 then
        readFromRegistry= strDefault
    else
        readFromRegistry=value
    end if

    set WSHShell = nothing
end function

mydomain = readfromRegistry("HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Domain", "asdf")

' Get the WshShell object
Set WshShell = CreateObject("WScript.Shell")

' Get collection by using the Environment property
Set objEnv = WshShell.Environment("Process")

if (mydomain="") then
Message = LCase(objEnv("COMPUTERNAME"))
else
Message = LCase(objEnv("COMPUTERNAME")) & "." & mydomain
end if

' Write to stdout
set output = wscript.stdout
output.writeline Message

DOS BATCH DATEI ÜBER SCRIPT ANRUFEN:

for /f %%a in ('cscript //nologo yourscriptname.vbs') do set FQDN=%%a
echo %FQDN%
pause

1
2018-02-19 12:46





Versuchen Sie Folgendes an der Eingabeaufforderung:

FOR /F "tokens=2" %i in ('systeminfo ^| find /i "Domain"') do echo %computername%.%i

denken Sie daran, doppelt zu verwenden % zum %i wenn Sie dies in einer Batchdatei verwenden. z.B. %%i

Ein Grund, warum Sie dies auf diese Weise tun sollten, ist: Wenn Ihre Benutzer und Computer sich in verschiedenen Domänen befinden, wird die %USERDNSDOMAIN% wird nicht korrekt sein, wenn es auf Ihrem Computer angewendet wird. Wenn Sie nur eine Domäne und keine untergeordneten Domänen haben, können Sie die anderen oben genannten Lösungen verwenden, wenn Sie möchten.


1
2018-06-24 13:16





Dies funktioniert auch und hat nicht die Verzögerung von systeminfo:

für / f "Token = 2 delims =:"% i in ('ipconfig / all ^ | findstr Suche')   SET-Domäne =% i & SET newdomain =% domain: =% & echo   % COMPUTERNAME%.% NeueDomain%


1
2018-04-22 15:29



Verwenden Sie vier führende Leerzeichen, um Ihre Antwort als "Code" zu formatieren. Der allgegenwärtige "Hilfe" -Link ist tatsächlich hilfreich. - Xalorous


Wenn Sie Unix-Shell-Skripte in Windows portieren oder einfach nur auf der CLI arbeiten möchten, schauen Sie sich an GNUwin32. Es bietet die üblichen Werkzeuge wie cut, grep usw. für Windows.


0
2017-10-13 16:37