Windows XP'de Linux komut `hostname - fqdn` eşdeğeri?


33

Windows XP kutusunun tam etki alanı adını bulmanın bir yolu var mı?

Windows ile aşina olmam, aradığım şeyi hostname --fqdnLinux'taki komutun karşılığı olarak tanımlarım .

Yanıtlar:


18

Bunu sistem özelliklerinde bulabilirsiniz ("Bilgisayar adı" sekmesi).

Komut satırı ile IPCONFIG /ALL"Ana bilgisayar adı" ve "Birincil DNS soneki" alanlarını çalıştırabilir ve inceleyebilirsiniz.


İki farklı yol farklı sonuçlar verir. ipconfig ne beklediğimi verir, ancak 'Bilgisayar Adı' sekmesinde etki alanı farklıdır. Etki alanı soneki yerine bir çalışma grubu adı gibi görünüyor. Bu, bir şekilde eşdeğer oldukları Windows'a özgü bir şey midir?
Grundlefleck

"Bilgisayar adı" sekmesinde "Tam bilgisayar adı" değerine bakmalısınız; "etki alanı" değeri, bilgisayarın üyesi olduğu Windows etki alanıdır (veya çalışma grubu).
Massimo

Ah doğru. Bu makinedeki kurulumda yanlış bir şeyler olmalı, çünkü sadece ana bilgisayar adını gösterir (sonunda bir nokta bulunur). Muhtemelen soruyu beklendiği gibi gösterip göstermediğini sormak zorunda kalmayacaktı :-D. +1
Grundlefleck

"Değiştir" i ve ardından "Diğer" i tıklamayı denediniz mi?
Massimo

1
Sadece bazı sistemlerin yerelleştirildiğini hatırlayın, bu nedenle nr'ye göre doğru çizgiyi aramak bazı durumlarda daha iyi olabilir (bu 5 numaralı hat).
RnR

28

hostnamePencerelerde komut için böyle bir seçenek yoktur . Ancak, bu hile yapmak gerekir:

echo %COMPUTERNAME%.%USERDNSDOMAIN%

: Yoksa (Windows altında grep edebilir find /I "string"dan host ve Etki Alanı için) setveya systeminfoveya ipconfig -alladı ve başka bir yerde bir araya tutkal.

Düzenleme: yazım hatası düzeltildi. Teşekkürler Benoit

Güncelleme: Değişken %USERDNSDOMAIN%yalnızca bir etki alanına oturum açıldığında kullanılabilir ... Bir DHCP sunucusundan aldığınız DNS soneki, bir ortam değişkenine (tahmin edebileceğim kadarıyla) alınmadı.


1
İkinci değişken "% USERDNSDOMAIN%" dir.
Benoit

% USERDNSDOMAIN% bu sistemde bir değişken olarak görünmüyor. Yanlış bir şey yapmadığım sürece: H: \> echo% BİLGİSAYAR ADI%.% USERDNSDOMAIN% [correctname].% USERDNSDOMAIN%
Grundlefleck

Ach, yorumlarda bunun yapıştırmanın korkunç olacağını unuttum.
Grundlefleck

2
Alan adını almak için WMIC kullanabilirsiniz :wmic computersystem get domain
Noam Manos


1

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

YAZI YUKARI ÇAĞRISI İÇİN DOS BATCH DOSYASI:

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

1

Bunu komut isteminden deneyin:

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

çift kullanmayı unutmayın %için %ibir batchfile bu kullanılıyorsa. Örneğin%%i

Bu şekilde yapmak isteyebilirsiniz nedeni: Kullanıcılarınız ve bilgisayarlarınız farklı alanlarda %USERDNSDOMAIN%ise, bilgisayarınıza uygulandığında doğru olmaz. Yalnızca bir etki alanınız varsa ve alt etki alanınız yoksa, yukarıdaki diğer çözümleri kullanabilirsiniz.


1

Bu da işe yarayacak ve sistem bilgisinde gecikme olmaz:

/ f "tokens = 2 delims =:" içinde% i ('ipconfig / all ^ | findstr Ara'), SET etki alanını =% i & SET newdomain =% etki alanı: =% & echo% BİLGİSAYAR ADI.%.% newdomain%


1
Yanıtınızı 'kod' olarak biçimlendirmek için dört satır aralığı kullanın. Her yerde 'yardım' bağlantısı aslında yararlıdır.
Xalorous


0

İşte bunun için bir CMD betiği:

@ECHO OFF

FOR /f "tokens=2,* delims= " %%a in ('IPCONFIG ^/ALL ^| FINDSTR "Primary Dns"') do set tempsuffix=%%b
FOR /f "tokens=1,2 delims=:" %%a in ('echo %tempsuffix%') do set dnssuffix=%%b
SET FQDN=%COMPUTERNAME%.%DNSSUFFIX:~1%

ECHO Server FQDN: %FQDN%

0

Başka bir sürüm:

echo.
echo Getting FQDN...
FOR /F "tokens=1-2" %%A in ('ping -a localhost -n 1') do (
    echo %%A | find /i "Pinging" >nul
    IF NOT ERRORLEVEL 1 SET "FQDN=%%B"
)
echo %FQDN%
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.