Запрос WMI, получить локальную информацию с удаленного сервера (для BgInfo)

Я использую BgInfo на сервере Windows, к которому пользователи удаленно подключаются по протоколу RDP. BgInfo позволяет создавать пользовательские элементы на основе запросов WMI. Я хочу показать локального хоста или IP-адрес. Существует ли класс WMI, содержащий локальное имя хоста удаленно подключенного пользователя? В противном случае, есть ли еще один одношаговый способ в BgInfo получить эту информацию?

29
задан root
29.12.2022 1:50 Количество просмотров материала 2725
Распечатать страницу

2 ответа

не решение WMI, но проще, если вы запустите следующий сценарий на сервере при подключении по RDP, вы получите имя хоста удаленного компьютера, подключенного по RDP

@echo off

echo %CLIENTNAME%

exit

вам на самом деле не нужен никакой сценарий, так как bginfo позволяет использовать пользовательские поля. Перейдите в раздел пользовательские поля - >добавить новое поле и выберите Environment variable и добавить переменную = CLIENTNAME

2
отвечен Alex 2022-12-30 09:38

насколько мне известно, 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 Перечисление, содержит " строку с завершающим нулем, содержащую имя клиента", означает имя клиентского компьютера. Как добраться продемонстрировано в приведенном выше примере.

0
отвечен harrymc 2022-12-30 11:55

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх