Eu descobri!
O script tem um espaço em seu nome. Eu removi o espaço e ... funciona!
Eu não sei se eu deveria me sentir estúpida por não descobrir isso antes ...
Eu tenho um script powershell que cria uma assinatura do Outlook. Ele é aplicado por meio do GPO atribuído pelo usuário. Todos os usuários estão na mesma UO, o objeto de política de grupo está vinculado a essa UO.
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
Funciona sem falhas em dispositivos Windows 10, mas os dispositivos com Windows 7 não o executam (embora funcione quando eu executo o script manualmente no dispositivo).
Eu corri o GPresult / R, e a política apareceu lá ...
Existe alguma diferença em como as janelas 7 e 10 executam seus scripts de logon?
Pode ser porque uma política de execução está sendo definida de maneira diferente no Windows 7. Tente fazer o seguinte como um teste: Crie seu GPO, contendo um arquivo .bat, com a seguinte linha:
powershell -noexit -c set-executionpolicy remotesigned -force
c:\pshell.ps1
Termine o seu script PS com "set-executionpolicy default -force"
Tivemos um problema semelhante com o nome. Estávamos no processo de atualização do ambiente (versão da aplicação e mudança do servidor de 2008 para 2012) e sabíamos que nossos scripts para o GPO funcionavam. Aparentemente, o arquivo ps1 NÃO PODE conter espaços.