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

GPO: сценарий входа пользователя не запущен

У меня есть объект групповой политики, связанный с подразделением, содержащим компьютеры. Закольцованная обработка активируется набором для слияния. В пользовательской части GPO у меня есть сценарий PowerShell, который в основном проверяет, работает ли он внутри сеанса ремодирования рабочего стола (if ($ env: SESSIONNAME -ne 'Console')), а затем пытается установить переменную среды на основе модификации из $ env: CLIENTNAME.

Однако скрипт, похоже, не работает, так как на момент выполнения нет $ env: CLIENTNAME. Как я могу это исправить?

Я уже пробовал включать и отключать «Запускать сценарии входа синхронно». Если я его включу - не повезло, что кажется логичным. Когда установлено значение «Не настроено», происходит вышеупомянутое. Спасибо за ваш вклад.

[РЕДАКТИРОВАТЬ]

Когда я вызываю сценарий через «Конфигурация пользователя => Политики => Административные шаблоны => Система => Вход в систему => Запускать эти программы при входе пользователя в систему», кажется, что он работает. Однако не для каждого пользователя и со случайной задержкой.

Есть ли другой способ использовать PowerShell для запроса% CLIENTNAME%? Например, спрашивать службы удаленного рабочего стола для авторизованных пользователей ... вы видите, куда я указываю?

Эта ссылка помогла мне решить мою проблему:

http://rcmtech.wordpress.com/2011/06/09/how-to-get-clientname-within-logon-script-on-server-2008-r2-xenapp-6/

Теперь я разбираю вывод qwinsta и читаю имя клиента из реестра, доступного раньше, чем var% CLIENTNAME%

Function Get-ClientName 
{
    $session = qwinsta $env:USERNAME
    $sessionId = $session[1].subString(39,9).Trim()

    return (Get-ItemProperty "HKCU:\Volatile Environment\${sessionId}\" -Name CLIENTNAME).CLIENTNAME
}

Затем я могу загрузить свой сценарий из «Конфигурация пользователя => Политики => Настройки Windows => Сценарии => Вход в систему ...»