サービスアカウント、つまりIISユーザー(またはこれらの新しいSSIS仮想アカウントは言うまでもありません)のPowerShell実行ポリシーを調整したいのですが、ポリシーシステムしか調整できないようです。 -そのように広い
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
またはそのような現在のユーザーのために
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
間違った場所を見ていますか、これはレジストリにありますか、それともグループポリシーですか?
これを行う正しい方法は何ですか?
ヘルプファイルで定義されているとおり。
スコープ特定のスコープでのみ有効な実行ポリシーを設定できます。 Scopeの有効な値は、MachinePolicy、UserPolicy、Process、CurrentUser、およびLocalMachineです。 LocalMachineは、実行ポリシーを設定するときのデフォルトです。スコープ値は優先順にリストされています。より制限的なポリシーがより低いレベルの優先順位で設定された場合でも、優先されるポリシーは現在のセッションで有効です。
MachinePolicyコンピューターのすべてのユーザーのグループポリシーによって設定されます。
UserPolicyコンピューターの現在のユーザーのグループポリシーによって設定されます。
Processプロセススコープは、現在のPowerShellセッションにのみ影響します。実行ポリシーは、レジストリではなく、環境変数$ env:PSExecutionPolicyPreferenceに保存されます。 PowerShellセッションが閉じられると、変数と値が削除されます。
CurrentUser実行ポリシーは現在のユーザーにのみ影響します。これは、HKEY_CURRENT_USERレジストリサブキーに保存されます。
LocalMachine実行ポリシーは、現在のコンピューター上のすべてのユーザーに影響します。これは、HKEY_LOCAL_MACHINEレジストリサブキーに保存されます。
ただし、ExecutionPolicy設定を含む強制されたドメイン全体のGPOは、設定したものよりも優先されます。
私は3つのアプローチを好みますが、これには他にもありますSO質問 PS実行ポリシーの変更
CMD(またはbash)から実行する
PowerShell -NonInteractive -ExecutionPolicy RemoteSigned -File "X:\Jenkins\path to your file\your file.ps1"
または
PowerShell -NonInteractive -ExecutionPolicy RemoteSigned -File ".\your file.ps1"
または
PowerShell -NonInteractive -ExecutionPolicy RemoteSigned "& '.\your file.ps1'"
Dockerを使用していることを除けば、他のアプローチは良いと思いますが、少し壊れやすいと思います。
スクリプト、CMD、PowerShellのクーペを使用します 説明
左側のサイドバー
ローカルコンピュータポリシー
コンピューター構成
管理用テンプレート
Windowsコンポーネント
Windows PowerShell
そしてダブルクリックスクリプト実行をオンにする