Windows XP में लिनक्स कमांड 'hostname --fqdn' के बराबर?


33

क्या विंडोज एक्सपी बॉक्स के पूरी तरह से योग्य डोमेन नाम खोजने का एक तरीका है?

विंडोज मैं से अपरिचित होने मैं कमांड के बराबर के रूप में के लिए क्या देख रहा हूँ का वर्णन होगा hostname --fqdnलिनक्स में उपलब्ध है।

जवाबों:


18

आप इसे सिस्टम के गुणों ("कंप्यूटर का नाम" टैब) में पा सकते हैं।

कमांड लाइन के साथ, आप IPCONFIG /ALL"होस्ट नाम" और "प्राथमिक DNS प्रत्यय" फ़ील्ड पर एक नज़र डाल सकते हैं ।


दो अलग-अलग तरीके अलग-अलग परिणाम देते हैं। ipconfig वह देता है जो मैं उम्मीद कर रहा था, लेकिन 'कंप्यूटर नाम' टैब में, डोमेन अलग है। यह एक डोमेन प्रत्यय के बजाय एक कार्यसमूह नाम जैसा दिखता है। क्या यह एक विंडोज विशिष्ट चीज है जहां वे किसी तरह समतुल्य हैं?
ग्रुंडलेफ़्लेक

"कंप्यूटर नाम" टैब में, आपको "पूर्ण कंप्यूटर का नाम" मान देखना चाहिए; "डोमेन" मान विंडोज डोमेन (या कार्यसमूह) है जिसका कंप्यूटर सदस्य है।
मैसिमो

ठीक है। वैसे इस मशीन पर इंस्टॉल में कुछ गड़बड़ है, क्योंकि यह केवल होस्टनाम (अंत में डॉट के साथ) दिखा रहा है। शायद यह सवाल पूछने की ज़रूरत नहीं होती अगर यह उम्मीद के मुताबिक दिखा रहा होता: -D। +1
ग्रंडलीफ़्लेक

क्या आपने "बदलें" और फिर "अधिक" पर क्लिक करने की कोशिश की है?
मैसिमो

1
बस याद रखें कि कुछ सिस्टम स्थानीयकृत हैं, इसलिए nr द्वारा उचित लाइन की तलाश कुछ मामलों में बेहतर हो सकती है (यह लाइन 5 एफिक है)।
RnR

28

hostnameविंडोज़ में कमांड के लिए ऐसा कोई विकल्प नहीं है । हालांकि, यह चाल करना चाहिए:

echo %COMPUTERNAME%.%USERDNSDOMAIN%

या आप find /I "string"होस्ट- और डोमेन से ( setया : विंडोज के तहत ) grep कर सकते हैं systeminfoया ipconfig -allनाम से और इसे एक साथ कहीं और गोंद कर सकते हैं।

संपादित करें: निश्चित टाइपो धन्यवाद बेनोइट

अद्यतन: चर %USERDNSDOMAIN%केवल तब उपलब्ध होता है जब किसी डोमेन पर लॉग इन किया जाता है ... एक डीएचसीपी सर्वर से आपको मिलने वाला DNS प्रत्यय एक पर्यावरण चर में नहीं डाला जाता है (जहां तक ​​मैं समझ सकता हूं)।


1
दूसरा चर "% USERDNSDOMAIN%" है।
बेनोइट

% USERDNSDOMAIN% इस सिस्टम पर एक चर नहीं प्रतीत होता है। जब तक मैं कुछ गलत कर रहा हूँ: H: \> echo% COMPUTERNAME%।% USERDNSDOMAIN% [correctname]।% USERDNSDOMAIN%
Grundlefleck

अच, भूल गए कि चिपकाना टिप्पणियों में भयानक होगा।
ग्रंडलफ्लेक

2
आप डोमेन नाम को पुनः प्राप्त करने के लिए WMIC का उपयोग कर सकते हैं :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

डॉस BATCH फाइल को कॉल करने के लिए

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

1

कमांड प्रॉम्प्ट से इसे आज़माएँ:

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

डबल का उपयोग करने के लिए याद %करने के लिए %iअगर एक batchfile में इस का उपयोग करते हुए। जैसे%%i

ऐसा करने का एक कारण यह भी हो सकता है: यदि आपके उपयोगकर्ता और कंप्यूटर विभिन्न डोमेन में हैं, तो %USERDNSDOMAIN%आपके कंप्यूटर पर लागू होने पर यह सही नहीं होगा। यदि आपके पास केवल एक डोमेन और कोई चाइल्ड डोमेन नहीं है, तो आप चाहें तो ऊपर दिए गए अन्य समाधानों का उपयोग कर सकते हैं।


1

यह भी काम करेगा और systeminfo की देरी नहीं है:

for / f "tokens = 2 delims =:"% i in ('ipconfig / all ^ is findstr Search') do SET domain =% i और SET newdomain =% domain: =% और echo% COMPETNAME%।% newdomain%।


1
अपने उत्तर को 'कोड' के रूप में स्वरूपित करने के लिए चार प्रमुख स्थानों का उपयोग करें। सर्वव्यापी 'सहायता' लिंक वास्तव में मददगार है।
Xalorous

0

यदि आपको यूनिक्स शेल स्क्रिप्ट को विंडोज़ में पोर्ट करना है या सीएलआई पर काम करना पसंद है, तो GNUwin32 पर एक नज़र डालें । यह विंडोज के लिए सामान्य उपकरण जैसे कट, grep आदि प्रदान करता है।


0

इसके लिए यहाँ एक CMD स्क्रिप्ट दी गई है:

@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

एक और संस्करण:

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%
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.