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

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

Windows ile aşina olmadığım şey, aradığım şeyi Linux'ta bulunan hostname --fqdn komutunun karşılığı olarak tanımlarım.

27

9 cevap

Pencerelerde hostname komutunun böyle bir seçeneği yoktur. Ancak, bu hile yapmak gerekir:

echo %COMPUTERNAME%.%USERDNSDOMAIN%

Veya Host ve Etki Alanı için set veya systeminfo veya ipconfig -all adı verin ve başka bir yere yapıştırın.

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

Update: The variable %USERDNSDOMAIN% is only available when logged on to a domain... The DNS suffix you get from a DHCP server is not put into a environment variable (as far as I could figure out).

25
katma
İkinci değişken "% USERDNSDOMAIN%" dir.
katma yazar Benoit, kaynak
Etki alanı adını almak için WMIC 'i kullanabilirsiniz: wmic computerystem get domain
katma yazar Noam Manos, kaynak
% 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%
katma yazar Todd Hoff, kaynak
Ach, yorumlarda bunun yapıştırmanın korkunç olacağını unuttu.
katma yazar Todd Hoff, kaynak

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

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

16
katma
"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).
katma yazar Massimo, kaynak
"Değiştir" i ve ardından "Diğer" i tıklamayı denediniz mi?
katma yazar Massimo, kaynak
Sadece bazı sistemlerin yerelleştirildiğini hatırlayın, bu nedenle nr ile doğru çizgiyi aramak bazı durumlarda daha iyi olabilir (bu 5 numaralı hat)
katma yazar Coder, kaynak
İ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?
katma yazar Todd Hoff, kaynak
Ah doğru. Bu makinede 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
katma yazar Todd Hoff, kaynak
Hayır, ne yazık ki bu makinelerde yönetici kimlik bilgilerine sahip olmadığım için yapamıyorum. İpconfig komutu yine de çalıştı, bu yüzden her şey yolunda :)
katma yazar Todd Hoff, kaynak

Komut:

ping -a localhost
6
katma

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 YUKARI ARAMA DOS DOSYA DOSYASI:

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

Bunu komut isteminden deneyin:

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

remember to use double % for %i if using this in a batchfile. e.g. %%i

Bu şekilde yapmak isteyebilirsiniz nedeni: Kullanıcılarınız ve bilgisayarlarınız farklı alanlarda ise, % USERDNSDOMAIN% 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
katma

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

for /f "tokens=2 delims=:" %i in ('ipconfig /all ^| findstr Search ') do SET domain=%i & SET newdomain=%domain: =% & echo %COMPUTERNAME%.%newdomain%

1
katma
Cevabı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.
katma yazar marcus, kaynak

İş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
katma

Unix kabuk komut dosyalarını pencerelere taşımanız veya yalnızca CLI'de çalışmak gibi görünmeniz gerekiyorsa, GNUwin32 . Windows için kesme, grep, vb. Gibi genel araçları sağlar.

0
katma

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%
0
katma
Windows
Windows
729 Katılımcıların

Windows ile ilgili tüm sorunların çözümüne yanıt arandığı ve paylaşımların yapıldığı bir gruptur. @SerCiTV @Tekpay @Apktanitim kanal/grupların uzantısıdır. https://t.me/joinchat/H1pwvUwqv4etCBtv9Oi_qQ