답변:
시스템 속성 ( "컴퓨터 이름"탭)에서 찾을 수 있습니다.
명령 줄 IPCONFIG /ALL
을 사용하여 "호스트 이름"및 "주 DNS 접미사"필드를 실행 하고 살펴볼 수 있습니다.
hostname
Windows 에는 명령에 대한 이러한 옵션이 없습니다 . 그러나 이것은 트릭을 수행해야합니다.
echo %COMPUTERNAME%.%USERDNSDOMAIN%
: 또는 당신은 (Windows에서 grep을 수 find /I "string"
에서 호스트 - 및 도메인의 경우) set
또는 systeminfo
또는 ipconfig -all
이름과 다른 곳에서 함께 접착제.
편집 : 고정 오타. 감사합니다 Benoit
업데이트 :
변수 %USERDNSDOMAIN%
는 도메인에 로그온했을 때만 사용할 수 있습니다 ... DHCP 서버에서 얻은 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
스크립트 위에 호출 할 DOS 배치 파일 :
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
경우 double을 사용해야 합니다. 예 :%%i
사용자와 컴퓨터가 다른 도메인에있는 %USERDNSDOMAIN%
경우 컴퓨터에 적용 할 때 정확하지 않을 수 있습니다. 하나의 도메인 만 있고 하위 도메인이없는 경우 원하는 경우 위의 다른 솔루션을 사용할 수 있습니다.
유닉스 쉘 스크립트를 윈도우로 포팅하거나 CLI에서 작업하고 싶다면 GNUwin32를 살펴 보십시오 . Windows 용 cut, grep 등과 같은 일반적인 도구를 제공합니다.