Назад | Перейти на главную страницу

Определить имя хоста системы Windows в сети

Мне нужно определить имя хоста удаленной системы Windows. Типичные методы на основе DNS в моей ситуации не работают.

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

В идеале, чтобы определить, какое имя машины утверждает ее собственное имя хоста (по сравнению с тем, что она сообщала в какой-то момент), я хотел бы напрямую запросить систему.

Поскольку служба RDP доступна на удаленных компьютерах, есть ли способ запросить у службы RDP имя хоста?

(Поскольку я не знаю, чей это компьютер, этот запрос должен быть ненавязчивым для конечного пользователя ...)

Если ваш клиент - 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}

Я бы подключился к удаленному компьютеру через wmi и использовал win32_computer system.name. EG (gwmi win32_computersystem -компьютер 192.168.1.1). Имя

Если вы предпочитаете что-то более графическое, есть отличная утилита под названием NetScan (и, IMHO, с лучшими функциями, чем у других подобных утилит).

Большим преимуществом этой утилиты является то, что она может добавлять столбцы с результатами запросов WMI.
Он поставляется с некоторыми предварительно созданными запросами WMI, но вы можете добавить их сколько угодно.
Вам нужен простой запрос - ВЫБЕРИТЕ CSName FROM Win32_OperatingSystem.

Попробуйте утилиту IP-сканера, например Angry IP Scanner, и посмотрите, сможет ли она запросить у сервера имя хоста. Я знаю, что в Angry есть столбец для имени хоста, и я часто (но не всегда) вижу, что он заполняется.