确定网络上 Windows 系统的主机名

确定网络上 Windows 系统的主机名

我需要确定远程 Windows 系统的主机名。典型的基于 DNS 的方法不适用于我的情况。

ping -a 1.1.1.1
nslookup 1.1.1.1
nbtstat -a -n 1.1.1.1

理想情况下,为了确定机器声称自己的主机名是什么(与它在某个时间点报告的主机名相比),我想直接查询系统。

由于 RDP 服务在远程 PC 上可用,有没有办法查询 RDP 服务的主机名?

(因为我不知道这是谁的电脑,所以这个请求对最终用户来说是非侵入性的......)

答案1

如果你的客户端是 Windows 7 或更高版本,你可以通过 WMI 获取此信息JimB 提到使用一行 Powershell:

Get-WmiObject win32_computersystem -ComputerName 192.168.161.5 | Select-Object Name

应该与 Windows Server 2003 或更新版本的客户端一起工作。

如果你想将它作为字符串而不是对象,

Get-WmiObject win32_computersystem -ComputerName 192.168.161.108 | %{$_.Name}

答案2

我将通过 wmi 连接到远程计算机并使用 win32_computer system.name。例如 (gwmi win32_computersystem -computer 192.168.1.1).name

答案3

如果你更喜欢 GUI 风格的东西,有一款很棒的工具叫网络扫描(并且,在我看来,它比其他类似的实用程序具有更好的功能)。

此实用程序的一大优势是它可以添加包含 WMI 查询结果的列。
它附带一些预构建的 WMI 查询,但您可以根据需要添加任意数量的查询。
您需要的查询很简单 - SELECT CSName FROM Win32_OperatingSystem

答案4

尝试使用 IP 扫描器实用程序(如 Angry IP Scanner),看看它是否可以查询服务器的主机名。我知道 Angry 中有一个主机名列,我经常(但并非总是)看到它填充。

相关内容