有没有办法找到Windows XP盒的标准域名?
不熟悉Windows,我将把我要寻找的内容描述为与hostname --fqdn
Linux中可用的命令等效。
有没有办法找到Windows XP盒的标准域名?
不熟悉Windows,我将把我要寻找的内容描述为与hostname --fqdn
Linux中可用的命令等效。
Answers:
您可以在系统属性(“计算机名称”选项卡)中找到它。
通过命令行,您可以运行IPCONFIG /ALL
并查看“主机名”和“主DNS后缀”字段。
hostname
Windows中的命令没有这样的选项。但是,这应该可以解决问题:
echo %COMPUTERNAME%.%USERDNSDOMAIN%
:或者你可以grep(在Windows下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