Windows XP 中 Linux 命令“hostname --fqdn”的等效项?

Windows XP 中 Linux 命令“hostname --fqdn”的等效项?

有没有办法找到 Windows XP 系统的完全合格域名?

hostname --fqdn由于不熟悉 Windows,我会将我所寻找的内容描述为Linux 中可用的命令的等效内容。

答案1

您可以在系统属性(“计算机名称”选项卡)中找到它。

使用命令行,您可以运行IPCONFIG /ALL并查看“主机名”和“主 DNS 后缀”字段。

答案2

Windows 中没有该hostname命令的选项。不过,下面这个应该可以解决问题:

echo %COMPUTERNAME%.%USERDNSDOMAIN%

或者您可以在其他地方使用 grep (在 Windows: 下find /I "string") 来查找主机和域,set或者systeminfoipconfig -all名称,然后将其粘贴在一起。

编辑:修正了拼写错误。谢谢 Benoit

更新: 该变量%USERDNSDOMAIN%仅在登录到域时可用...从 DHCP 服务器获取的 DNS 后缀不会放入环境变量中(据我所知)。

答案3

命令是:

ping -a localhost

答案4

脚本:

' 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

相关内容