Outlookの署名を作成するPowerShellスクリプトがあります。ユーザーが割り当てたGPOを介して適用されます。すべてのユーザーは同じ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ファイルを含むGPOを作成します。
powershell -noexit -c set-executionpolicy remotesigned -force
c:\pshell.ps1
PSスクリプトを「set-executionpolicydefault-force」で終了します
名前についても同様の問題が発生しました。私たちは環境(アプリケーションバージョンとサーバー2008から2012への移行)をアップグレードしている最中で、GPO=のスクリプトが機能していることを知っていました。ps1ファイルにはスペースを含めることができません。