উইন্ডোজ এক্সপি বাক্সের পুরোপুরি যোগ্যতাসম্পন্ন ডোমেন নাম খুঁজে পাওয়ার কোনও উপায় আছে কি?
উইন্ডোজের সাথে অপরিচিত হয়ে আমি hostname --fqdn
লিনাক্সে উপলব্ধ কমান্ডের সমতুল্য হিসাবে আমি যা খুঁজছি তা বর্ণনা করব ।
উইন্ডোজ এক্সপি বাক্সের পুরোপুরি যোগ্যতাসম্পন্ন ডোমেন নাম খুঁজে পাওয়ার কোনও উপায় আছে কি?
উইন্ডোজের সাথে অপরিচিত হয়ে আমি hostname --fqdn
লিনাক্সে উপলব্ধ কমান্ডের সমতুল্য হিসাবে আমি যা খুঁজছি তা বর্ণনা করব ।
উত্তর:
আপনি এটি সিস্টেমের বৈশিষ্ট্যগুলিতে ("কম্পিউটারের নাম" ট্যাব) খুঁজে পেতে পারেন।
কমান্ড লাইনের সাহায্যে আপনি চালাতে পারেন IPCONFIG /ALL
এবং "হোস্টের নাম" এবং "প্রাথমিক ডিএনএস প্রত্যয়" ক্ষেত্রটি দেখতে পারেন।
hostname
উইন্ডোতে কমান্ডের মতো কোনও বিকল্প নেই । যাইহোক, এটি কৌশলটি করা উচিত:
echo %COMPUTERNAME%.%USERDNSDOMAIN%
অথবা আপনি find /I "string"
হোস্ট- এবং ডোমেনের জন্য set
বা উইন্ডো থেকে নাম systeminfo
বা ipconfig -all
নাম বাছাই করতে পারেন এবং এটিকে অন্য কোথাও আঠালো করতে পারেন।
সম্পাদনা: নির্দিষ্ট টাইপ। ধন্যবাদ বিনোইট
আপডেট:
ভেরিয়েবলটি %USERDNSDOMAIN%
কেবলমাত্র কোনও ডোমেনে লগইন করলেই উপলভ্য হয় ... আপনি ডিএইচসিপি সার্ভার থেকে প্রাপ্ত ডিএনএস প্রত্যয়টি পরিবেশের ভেরিয়েবলের মধ্যে রাখেন না (যতদূর আমি বুঝতে পারি)।
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
উপরে স্ক্রিপ্ট কল করতে ডস ব্যাচ ফাইল:
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%
আপনার কম্পিউটারে প্রয়োগ করার পরে এটি সঠিক হবে না। আপনার যদি কেবল একটি ডোমেন থাকে এবং কোনও শিশু ডোমেন না থাকে তবে আপনি যদি চান তবে উপরের অন্যান্য সমাধানগুলি ব্যবহার করতে পারেন।
এটি কাজ করবে এবং সিস্টেমেণ্টফোতে দেরি করবে না:
/ এফ "টোকেন = 2 ডিলিমস =:"% আমি ইন ('আইপকনফিগ / সমস্ত ^ | সন্ধানকারী অনুসন্ধান') SET ডোমেন =% i এবং SET newdomain =% ডোমেন: =% & প্রতিধ্বনি% COMPUTERNAME%।% newdomain%
আপনার যদি উইন্ডোতে ইউনিক্স শেল স্ক্রিপ্টগুলি পোর্ট করতে হয় বা কেবল সিএলআই-তে কাজ করতে চান তবে জিএনইউউইন 32 এ দেখুন । এটি উইন্ডোজের জন্য কাট, গ্রেপ ইত্যাদি সাধারণ সরঞ্জাম সরবরাহ করে।
এটির জন্য এখানে একটি সিএমডি স্ক্রিপ্ট রয়েছে:
@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%