У меня есть сценарий PowerShell, который создает подпись Outlook. Он применяется через назначенный пользователем объект групповой политики. Все пользователи находятся в одном OU, объект групповой политики связан с этим OU.
GPO:
User Configuration (Enabled)hide
Policieshide
Windows Settingshide
Scriptshide
Logonhide
For this GPO, Script order: Windows PowerShell scripts will run firstName Parameters
SignatureUnifiedFull v2.ps1
Он работает безупречно на устройствах с Windows 10, но устройства с Windows 7 не запускают его (даже если он работает, когда я запускаю скрипт на устройстве вручную).
Я запустил GPresult / R, и политика там появилась ...
Есть ли разница в том, как Windows 7 и 10 запускают свои сценарии входа в систему?
Я понял!
В названии скрипта есть пробел. Убрал пробел и ... работает!
Я не знаю, должен ли я чувствовать себя глупо из-за того, что не понял этого раньше ...
Возможно, из-за другой настройки политики выполнения в Windows 7. Попробуйте выполнить следующее в качестве теста: Создайте объект групповой политики, содержащий как файл .bat, так и следующую строку в нем:
powershell -noexit -c set-executionpolicy remotesigned -force
c:\pshell.ps1
Завершите свой сценарий PS с помощью "set-executionpolicy default -force"
У нас возникла аналогичная проблема с названием. Мы находились в процессе обновления среды (версии приложения и перехода с server 2008 на 2012) и знали, что наши сценарии для GPO работают. По-видимому, файл ps1 НЕ МОЖЕТ содержать пробелы.