क्या विंडोज एक्सपी बॉक्स के पूरी तरह से योग्य डोमेन नाम खोजने का एक तरीका है?
विंडोज मैं से अपरिचित होने मैं कमांड के बराबर के रूप में के लिए क्या देख रहा हूँ का वर्णन होगा hostname --fqdn
लिनक्स में उपलब्ध है।
क्या विंडोज एक्सपी बॉक्स के पूरी तरह से योग्य डोमेन नाम खोजने का एक तरीका है?
विंडोज मैं से अपरिचित होने मैं कमांड के बराबर के रूप में के लिए क्या देख रहा हूँ का वर्णन होगा hostname --fqdn
लिनक्स में उपलब्ध है।
जवाबों:
आप इसे सिस्टम के गुणों ("कंप्यूटर का नाम" टैब) में पा सकते हैं।
कमांड लाइन के साथ, आप IPCONFIG /ALL
"होस्ट नाम" और "प्राथमिक DNS प्रत्यय" फ़ील्ड पर एक नज़र डाल सकते हैं ।
hostname
विंडोज़ में कमांड के लिए ऐसा कोई विकल्प नहीं है । हालांकि, यह चाल करना चाहिए:
echo %COMPUTERNAME%.%USERDNSDOMAIN%
या आप find /I "string"
होस्ट- और डोमेन से ( set
या : विंडोज के तहत ) grep कर सकते हैं systeminfo
या ipconfig -all
नाम से और इसे एक साथ कहीं और गोंद कर सकते हैं।
संपादित करें: निश्चित टाइपो धन्यवाद बेनोइट
अद्यतन:
चर %USERDNSDOMAIN%
केवल तब उपलब्ध होता है जब किसी डोमेन पर लॉग इन किया जाता है ... एक डीएचसीपी सर्वर से आपको मिलने वाला DNS प्रत्यय एक पर्यावरण चर में नहीं डाला जाता है (जहां तक मैं समझ सकता हूं)।
wmic computersystem get domain
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
कमांड प्रॉम्प्ट से इसे आज़माएँ:
FOR /F "tokens=2" %i in ('systeminfo ^| find /i "Domain"') do echo %computername%.%i
डबल का उपयोग करने के लिए याद %
करने के लिए %i
अगर एक batchfile में इस का उपयोग करते हुए। जैसे%%i
ऐसा करने का एक कारण यह भी हो सकता है: यदि आपके उपयोगकर्ता और कंप्यूटर विभिन्न डोमेन में हैं, तो %USERDNSDOMAIN%
आपके कंप्यूटर पर लागू होने पर यह सही नहीं होगा। यदि आपके पास केवल एक डोमेन और कोई चाइल्ड डोमेन नहीं है, तो आप चाहें तो ऊपर दिए गए अन्य समाधानों का उपयोग कर सकते हैं।
यह भी काम करेगा और systeminfo की देरी नहीं है:
for / f "tokens = 2 delims =:"% i in ('ipconfig / all ^ is findstr Search') do SET domain =% i और SET newdomain =% domain: =% और echo% COMPETNAME%।% newdomain%।
इसके लिए यहाँ एक 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%