現象
Microsoft SQL Server 2012 または 2014 の Microsoft SQL Server の SQL Server PowerShell コンソールを開くし、ドメイン コント ローラーのコンピューター ポリシーに設定されていないRemoteSignedグループ ポリシー オブジェクト (GPO) によって、次のエラー メッセージが表示されます。
セット executionpolicy: Windows PowerShell 実行ポリシーが正常に更新しますが、特定のスコープで定義されたポリシーによって設定がオーバーライドされます。 シェルでは、オーバーライドのため、現在有効な実行ポリシーの [制限しない] が保持されます。型"Get ExecutionPolicy-リスト"実行ポリシー設定を表示します。
詳細についてを参照してください。
"ヘルプを表示設定-ExecutionPolicy"です。
行: 1 文字: 1
+ セット executionpolicy RemoteSigned-スコープの強制の処理
Syspolicy_purge_historyジョブはさらに、ドメイン コント ローラーが GPO でRemoteSignedに設定されていないと、次のエラー メッセージが表示される場合があります 3 番目のステップで失敗します。
ユーザーとして実行: AJ\devARsqlagt。ジョブ ステップでは、PowerShell スクリプトの中で 1 行目でエラーが発生しました。対応する行が 'セット executionpolicy RemoteSigned-スコープ処理の強制' です。スクリプトを修正し、ジョブを再スケジュールします。PowerShell で返されるエラー情報: ' セキュリティ エラーです。 '. プロセス終了コード-1。 ステップが失敗しました。
原因
この問題は、コンピューター ポリシーが GPO をRemoteSignedに設定されていないと、メンバー サーバーにプッシュされることがあるために発生します。たとえば、ドメイン コント ローラーのセットアップの実行ポリシーがある場合に従います。Scope - ExecutionPolicy--------------------------------------------------------------
MachinePolicy - Unrestricted
UserPolicy - Undefined
Process - RemoteSigned
CurrentUser - Undefined
LocalMachine - RemoteSigned
MachinePolicyは、他のすべてのポリシーよりも優先されます。
グループ ポリシーは、ドメイン コント ローラーからグループ ポリシーに関連付けられているメンバー サーバーにプッシュされます。MachinePolicy [制限しない]モードに設定し、SQL Server PowerShell 実行ポリシーをRemoteSignedを使用して実行しようとします。そのため、競合する状況が発生して、 syspolicy_purge_historyジョブが失敗しました。ドメイン コント ローラーのコンピューター ポリシーに関係なく、同じジョブが SQL Server 2008 R2 では正常に実行します。
回避策
SQL Server 2008 または SQL Server 2008 R2 は、 RemoteSignedポリシーに SQL の PowerShell を起動しません。そのため、ジョブは、SQL Server 2008 では失敗しません。セキュリティ上の手段としては、SQL Server 2012 は、 RemoteSignedポリシーの SQL PowerShell を開始します。これが原因でジョブが失敗して、前の問題が発生します。
[制限しない]は間違いなくお勧めできませんセキュリティの観点からしないで済むので制限します。SQL 2012 のMachinePolicyは、ドメイン コント ローラーでは、 RemoteSignedに設定されているときに正常に PowerShell スクリプトの実行を開始するときはこのためです。
この問題を回避するには、次のいずれかの方法を使用します。
-
GPO をドメイン コント ローラーのコンピューター ポリシーを設定することはしません。定義されていない場合は、(、例では、 UserPolicy後で処理し、作業中、および最後のLocalMachineに) は、次のレベル ポリシーが優先されますを意味します。
-
Active Directory ユーザーとコンピューターで新しい組織単位 (OU) を作成し、グループ ポリシーでは、この OU にリンクします。RemoteSigned ポリシーを有効にし、します。これを行うには、以下の手順を実行します。
-
Active Directory ユーザーとコンピューターに移動します。
-
自分のドメイン] を右クリックして新しい組織単位を作成する組織単位をクリックし、[新規です。
-
Gpmc.mscを実行するには、入力しを右クリックしてグループ ポリシー オブジェクト] の [新規作成新しい GPO を作成します。
-
新しく作成した GPO を右クリックして編集] メニューの [します。新しいウィンドウが開きます。
-
コンピューターの構成に移動] メニューの [ポリシー ] メニューの [管理用テンプレート] メニューの [ Windows コンポーネントの Windows PowerShellを -> -> 2 倍には、スクリプトの実行を有効にする] をクリックして
-
スクリプトまたはローカルおよびリモートの署名済みスクリプトの実行ポリシーの設定します。
-
[適用] をクリックし、[ OK] をクリックします。
-
Active Directory ユーザーとコンピューター、し、[コンピューター] をクリックします。ドメインのコンピューターの一覧を検索します。新しく作成された組織単位に移動するかコンピューターを右クリックします。この方法では、組織単位に 1 つまたはコンピューターのグループを移動できます。
-
グループ ポリシーの管理に移動します、[新しく作成した組織単位を右クリックし既存の GPO をリンク] をクリックし、新しく作成した GPO を選択し、[ OK] をクリックします。
-
PowerShell でこのコマンドを実行して、ドメイン コント ローラーとクライアント コンピューターのポリシーを更新します。
gpupdate/force -
組織単位およびクライアント コンポーネントをコンピューターのポリシーを確認して、 RemoteSignedをする必要があります。
-
状況
マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。
関連情報
グループ ポリシーの詳細については、次の web サイトを参照してください。