Я использую BgInfo на сервере Windows, к которому пользователи удаленно подключаются по протоколу RDP. BgInfo позволяет создавать пользовательские элементы на основе запросов WMI. Я хочу показать локального хоста или IP-адрес. Существует ли класс WMI, содержащий локальное имя хоста удаленно подключенного пользователя? В противном случае, есть ли еще один одношаговый способ в BgInfo получить эту информацию?
Запрос WMI, получить локальную информацию с удаленного сервера (для BgInfo)
2 ответа
не решение WMI, но проще, если вы запустите следующий сценарий на сервере при подключении по RDP, вы получите имя хоста удаленного компьютера, подключенного по RDP
@echo off
echo %CLIENTNAME%
exit
вам на самом деле не нужен никакой сценарий, так как bginfo
позволяет использовать пользовательские поля.
Перейдите в раздел пользовательские поля - >добавить новое поле и выберите Environment variable
и добавить переменную = CLIENTNAME
насколько мне известно, WMI не может этого сделать.
Вам нужно будет использовать Win32 API, например, в PowerShell, и вызвать
непосредственно
функция WTSQuerySessionInformation
найдено внутри wtsapi32.dll
, используя параметры:
hServer = WTS_CURRENT_SERVER_HANDLE (null or 0)
SessionId = WTS_CURRENT_SESSION (-1)
вы можете найти рабочий пример PowerShell для вызова
WTSQuerySessionInformation
в этом serverfault ответ,
что должно помочь тебе начать.
элемент, который вы хотите получить-это WTSClientName
от
_WTS_INFO_CLASS Перечисление,
содержит " строку с завершающим нулем, содержащую имя клиента",
означает имя клиентского компьютера.
Как добраться продемонстрировано в приведенном выше примере.
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]