web-dev-qa-db-ja.com

サービスアカウントのPowerShell実行ポリシーを設定する

サービスアカウント、つまりIISユーザー(またはこれらの新しいSSIS仮想アカウントは言うまでもありません)のPowerShell実行ポリシーを調整したいのですが、ポリシーシステムしか調整できないようです。 -そのように広い

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

またはそのような現在のユーザーのために

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

間違った場所を見ていますか、これはレジストリにありますか、それともグループポリシーですか?

これを行う正しい方法は何ですか?

1
wp78de

ヘルプファイルで定義されているとおり。

実行ポリシー

スコープ特定のスコープでのみ有効な実行ポリシーを設定できます。 Scopeの有効な値は、MachinePolicy、UserPolicy、Process、CurrentUser、およびLocalMachineです。 LocalMachineは、実行ポリシーを設定するときのデフォルトです。スコープ値は優先順にリストされています。より制限的なポリシーがより低いレベルの優先順位で設定された場合でも、優先されるポリシーは現在のセッションで有効です。

MachinePolicyコンピューターのすべてのユーザーのグループポリシーによって設定されます。

UserPolicyコンピューターの現在のユーザーのグループポリシーによって設定されます。

Processプロセススコープは、現在のPowerShellセッションにのみ影響します。実行ポリシーは、レジストリではなく、環境変数$ env:PSExecutionPolicyPreferenceに保存されます。 PowerShellセッションが閉じられると、変数と値が削除されます。

CurrentUser実行ポリシーは現在のユーザーにのみ影響します。これは、HKEY_CURRENT_USERレジストリサブキーに保存されます。

LocalMachine実行ポリシーは、現在のコンピューター上のすべてのユーザーに影響します。これは、HKEY_LOCAL_MACHINEレジストリサブキーに保存されます。

ただし、ExecutionPolicy設定を含む強制されたドメイン全体のGPOは、設定したものよりも優先されます。

1
postanote

私は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を使用していることを除けば、他のアプローチは良いと思いますが、少し壊れやすいと思います。

Windowsスタートアップ機能を使用してドメインコントローラーグループポリシーを上書きする

スクリプト、CMD、PowerShellのクーペを使用します 説明

LocalMachineポリシーが有効になっていません

ソース

Run as administrator
Adds Group Policy Object Editor

左側のサイドバー
ローカルコンピュータポリシー
コンピューター構成
管理用テンプレート
Windowsコンポーネント
Windows PowerShell
そしてダブルクリックスクリプト実行をオンにする

enter image description here

0
it3xl