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

GPO для сценария входа в систему PS1 не работает без прав локального администратора для пользователя

У меня есть сценарий PowerShell .PS1, который я пытаюсь применить через сценарий входа в систему с групповой политикой. Вот сценарий .PS1 (очень простой, просто добавляет пользователя в группу RD Users):

net localgroup "Remote Desktop Users" "$env:USERDOMAIN\$env:USERNAME" /add

В соответствии с RSoP.msc и GPresult, GPO применяется без проблем. Я могу запустить PS1 вручную, и он работает (хотя и как Admin и с Set-ExecutionPolicy Unrestricted). Однако сценарий не работает, потому что входящий в систему пользователь никогда не добавляется в группу «Пользователи удаленного рабочего стола».

В RSoP.msc в поле «Время последнего выполнения» для скрипта нет поля. Я хотел бы заглянуть в Средство просмотра событий, чтобы лучше понять, почему сценарий не работает, но я не уверен, что именно искать.

РЕДАКТИРОВАТЬ: Видимо скрипт входа в систему должен запускается от имени вошедшего в систему пользователя, поэтому он наследует все разрешения, которые есть у указанного пользователя (или, скорее, не имеет). Я собираюсь попробовать запустить сценарий на стороне компьютера, чтобы посмотреть, будет ли он работать без конечного пользователя, имеющего права локального администратора, поскольку он будет использовать системную учетную запись.

Мне удалось запустить его как запланированную задачу, развернутую через групповую политику, используя систему в качестве учетной записи для запуска запланированной задачи.

Создать новую запланированную задачу в Computer Configuration > Preferences > Control Panel Settings > Scheduled Tasks, выбирая Scheduled Task (Windows Vista and Later) тип задачи:

Установите учетную запись на NT AUTHORITY/Systemи установите run with highest privileges:

Установите его на запуск at log on из any user:

Выбрать Start a program под action, устанавливать Powershell.exe в качестве программы / сценария и путь к сценарию в качестве аргумента:

Все остальные вкладки оставьте без изменений.

Когда пользователь входит в систему, он должен увидеть окно PowerShell, и, проверив lusrmgr.msc, вы должны увидеть пользователя в указанной группе: