Переменная среды clientname не дает результата для пользователей домена

#powershell #environment-variables #windows-server-2016 #terminal-services

#powershell #переменные среды #windows-server-2016 #terminal-services

Вопрос:

У меня возникли проблемы с получением ожидаемого результата для переменной окружения clientname в PowerShell.

На сервере Windows 2016 через сеанс RDP.

  1. Я запускаю запрос $env:clientname с пользователем домена и не получаю результата
  2. Я запускаю запрос $env:clientname с локальным пользователем и получаю ожидаемое имя хоста подключенного терминала.

Это влияет на функции приложений, запущенных через TS с пользователями домена.

Результат пользователя домена:

Снимок экрана 1

Результат локального пользователя:

Снимок экрана 2

Ответ №1:

Прочитайте эту (очень старую) статью MS

https://support.microsoft.com/en-us/help/2509192/clientname-and-sessionname-enviroment-variable-may-be-missing

Это все еще применяется.

Возможное исправление:

 $sessionID = (Get-Process -PID $pid).SessionID
$sessionCLIENTNAME = (Get-ItemProperty -path ("HKCU:Volatile Environment"    $sessionID) -name "CLIENTNAME").CLIENTNAME
  

Комментарии:

1. Большое вам за это спасибо!