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

Mic*_*tts 0 windows rdp hostname

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

ping -a 1.1.1.1
nslookup 1.1.1.1
nbtstat -a -n 1.1.1.1
Run Code Online (Sandbox Code Playgroud)

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

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

(因为我不知道这是谁的电脑,所以这个请求需要对最终用户无干扰......)

Mar*_*son 5

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

Get-WmiObject win32_computersystem -ComputerName 192.168.161.5 | Select-Object Name
Run Code Online (Sandbox Code Playgroud)

应该与 Windows Server 2003 或更高版本的客户端一起使用。

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

Get-WmiObject win32_computersystem -ComputerName 192.168.161.108 | %{$_.Name}
Run Code Online (Sandbox Code Playgroud)