次の方法で共有


about_Group_Policy_Settings

簡単な説明

PowerShell のグループ ポリシー設定について説明します

長い説明

PowerShell には、エンタープライズ環境で Windows コンピューターの一貫性のある構成値を定義するのに役立つグループ ポリシー設定が含まれています。

PowerShell グループ ポリシーの設定は、次のグループ ポリシーパスにあります。

Computer Configuration\
  Administrative Templates\
    PowerShell Core

User Configuration\
  Administrative Templates\
    PowerShell Core

[コンピューターの構成] パスのグループ ポリシー設定は、[ユーザー構成] パスのグループ ポリシー設定よりも優先されます。

PowerShell 7 では、グループ ポリシーのテンプレートとインストール スクリプトが $PSHOME に含まれています。

グループ ポリシー ツールでは、管理用テンプレート ファイル (.admx.adml) を使用して、ユーザー インターフェイスにポリシー設定を追加できます。 これにより、管理者はレジストリ ベースのポリシー設定を管理できます。 このスクリプトは InstallPSCorePolicyDefinitions.ps1PowerShell Core 管理用テンプレートを ローカル コンピューターにインストールします。

Get-ChildItem -Path $PSHOME -Filter *Core*Policy*
    Directory: C:\Program Files\PowerShell\7

Mode       LastWriteTime         Length Name
----       -------------         ------ ----
-a---      2/27/2020 12:38 AM     15861 InstallPSCorePolicyDefinitions.ps1
-a---      2/27/2020 12:28 AM      9675 PowerShellCoreExecutionPolicy.adml
-a---      2/27/2020 12:28 AM      6201 PowerShellCoreExecutionPolicy.admx

テンプレートをインストールしたら、グループ ポリシー エディター (gpedit.msc) でこれらの設定を編集できます。

ポリシーは次のとおりです。

  • コンソール セッション構成: PowerShell が実行される構成エンドポイントを設定します。
  • モジュール ログを有効にする: モジュールLogPipelineExecutionDetails プロパティを 設定します。
  • PowerShell スクリプト ブロック ログを有効にする: すべての PowerShell スクリプトの詳細なログ記録を有効にします。
  • スクリプト実行を有効にする: PowerShell 実行ポリシーを設定します。
  • PowerShell の文字起こしを有効にする: PowerShell コマンドの入力と出力をテキストベースのトランスクリプトにキャプチャできるようにします。
  • の既定のソース パスをUpdate-Help設定します。更新可能なヘルプのソースを、インターネットではなくディレクトリに設定します。

各 PowerShell グループ ポリシー設定には、[Windows PowerShell ポリシー設定を使用する] フィールドがあります。 このオプションを使用すると、次のグループ ポリシー パスにある同様のWindows PowerShell グループ ポリシー設定の値を使用できます。

Computer Configuration\
  Administrative Templates\
    Windows Components\
      Windows PowerShell

User Configuration\
  Administrative Templates\
    Windows Components\
      Windows PowerShell

注意

これらの PowerShell Core 管理用テンプレートには、Windows PowerShellの設定は含まれていません。 その他のテンプレートを取得し、グループ ポリシーを構成する方法の詳細については、「Windows でグループ ポリシー管理用テンプレートの中央ストアを作成および管理する方法」を参照してください。

コンソール セッションの構成

コンソール セッション構成ポリシー設定では、PowerShell が実行される構成エンドポイントを指定します。 これには、既定の PowerShell リモート処理エンドポイントや、特定のユーザー ロール機能を持つカスタム エンドポイントなど、ローカル コンピューターに登録されている任意のエンドポイントを指定できます。

モジュールのログ記録を有効にする

[モジュール ログを有効にする] ポリシー設定では、選択した PowerShell モジュールのログ記録を有効にします。 この設定は、影響を受けるすべてのコンピューター上のすべてのセッションで有効です。

このポリシー設定を有効にして 1 つ以上のモジュールを指定した場合、PowerShell は指定したモジュールのパイプライン実行イベントをイベント ビューアーのWindows PowerShell ログに記録します。

このポリシー設定を無効にした場合、PowerShell は PowerShell モジュールの実行イベントをログに記録しません。

このポリシー設定が構成されていない場合、各モジュールの LogPipelineExecutionDetails プロパティは、PowerShell がそのモジュールの実行イベントをログに記録するかどうかを決定します。 既定では、すべてのモジュールの LogPipelineExecutionDetails プロパティは に $False設定されます。

モジュールのモジュール ログを有効にするには、次のコマンド形式を使用します。 モジュールはセッションにインポートする必要があり、設定は現在のセッションでのみ有効です。

Import-Module <Module-Name>
(Get-Module <Module-Name>).LogPipelineExecutionDetails = $true

特定のコンピューター上のすべてのセッションのモジュール ログを有効にするには、前のコマンドを [すべてのユーザー] PowerShell プロファイル ($Profile.AllUsersAllHosts) に追加します。

モジュール ログの詳細については、「 about_Modules」を参照してください。

PowerShell スクリプト ブロックのログ記録を有効にする

[PowerShell スクリプト ブロック ログを有効にする] ポリシー設定では、Microsoft-Windows-PowerShell/Operational イベント ログへのすべての PowerShell スクリプト入力のログ記録が有効になります。 このポリシー設定を有効にした場合、PowerShell はコマンド、スクリプト ブロック、関数、スクリプトの処理 (対話形式で呼び出された場合でも自動化を介して呼び出された場合でも) の処理をログに記録します。

このポリシー設定を無効にした場合、PowerShell スクリプト入力はログに記録されません。 スクリプト ブロック呼び出しログを有効にすると、コマンド、スクリプト ブロック、関数、またはスクリプトの呼び出しが開始または停止したときに、PowerShell によってイベントもログに記録されます。 呼び出しのログ記録を有効にすると、大量のイベント ログが生成されます。

スクリプトの実行を有効にする

[スクリプト実行を有効にする] ポリシー設定は、コンピューターとユーザーの実行ポリシーを設定します。 実行ポリシーは、スクリプトの実行を許可するかどうかを決定します。

ポリシー設定を有効にした場合は、次のポリシー設定から選択できます。

  • 署名されたスクリプトのみを許可すると、 信頼できる発行元によって署名されている場合にのみスクリプトを実行できます。 このポリシー設定は、実行ポリシーと AllSigned 同じです。

  • ローカル スクリプトとリモート署名付きスクリプトを許可すると、 すべてのローカル スクリプトを実行できます。 インターネットから生成されたスクリプトは、信頼できる発行元によって署名されている必要があります。 このポリシー設定は、実行ポリシーと RemoteSigned 同じです。

  • すべてのスクリプトを許可すると、 すべてのスクリプトを実行できます。 このポリシー設定は、実行ポリシーと Unrestricted 同じです。

このポリシー設定を無効にした場合、スクリプトの実行は一切許可されません。 このポリシー設定は、実行ポリシーと Restricted 同じです。

このポリシー設定を構成しない場合、コマンドレットによってコンピューターまたはユーザーに対して設定された実行ポリシーによって Set-ExecutionPolicy 、スクリプトの実行が許可されるかどうかが決まります。 既定値は Restricted です。

詳細については、「about_Execution_Policies」を参照してください。

PowerShell の文字起こしを有効にする

PowerShell 文字起こしを有効にするポリシー設定を使用すると、PowerShell コマンドの入力と出力をテキストベースのトランスクリプトにキャプチャできます。 このポリシー設定を有効にした場合、PowerShell では、PowerShell エンジンを利用する PowerShell およびその他のアプリケーションの文字起こしログが有効になります。 既定では、PowerShell は、各ユーザーの My Documents ディレクトリにトランスクリプト出力を記録し、 を含む PowerShell_transcriptファイル名と、コンピューター名と開始時間を記録します。 このポリシーを有効にすると、各 PowerShell セッションで コマンドレットを Start-Transcript 呼び出すのと同じ効果があります。

このポリシー設定を無効にした場合、PowerShell ベースのアプリケーションでは、既定ではトランスクリプト ログは書き込まれません。 コマンドレットでは Start-Transcript 、文字起こしログを有効にできます。

OutputDirectory をトランスクリプト ログの共有場所に設定する場合は、ディレクトリへのアクセスを制限して、ユーザーが他のユーザーまたはコンピューターのトランスクリプトを表示できないようにします。

Update-Help の既定のソース パスを設定する

[Update-Help の既定のソース パスの設定] ポリシー設定では、コマンドレットの SourcePath パラメーターの既定値をUpdate-Help設定します。 この設定により、ユーザーは コマンドレットを Update-Help 使用してインターネットからヘルプ ファイルをダウンロードできなくなります。

注意

このグループ ポリシー設定は、[コンピューターの構成] と [ユーザーの構成] の下に表示されます。 ただし、[コンピューターの構成] の [グループ ポリシー設定のみが有効です。 [ユーザー構成] の [グループ ポリシー設定は無視されます。

コマンドレットは Update-Help 、PowerShell モジュールの最新のヘルプ ファイルをダウンロードしてインストールし、コンピューターにインストールします。 既定では、 Update-Help モジュールで指定されたインターネット上の場所から新しいヘルプ ファイルをダウンロードします。

ただし、 コマンドレットを Save-Help 使用して、ネットワーク共有などのファイル システムの場所に最新のヘルプ ファイルをダウンロードし、 コマンドレットを Update-Help 使用してファイル システムの場所からヘルプ ファイルを取得し、コンピューターにインストールできます。 コマンドレットの SourcePath パラメーターは Update-Help 、ファイル システムの場所を指定します。

SourcePath パラメーターの既定値を指定すると、このグループ ポリシー設定によって、SourcePath パラメーターがすべてのUpdate-Helpコマンドに暗黙的に追加されます。 ユーザーは、別のファイル システムの場所を入力することで、既定値として指定された特定のファイル システムの場所をオーバーライドできます。 ただし、 SourcePath パラメーターをコマンドから Update-Help 削除することはできません。

このポリシー設定を有効にした場合は、 SourcePath パラメーターの既定値を指定できます。 ファイル システムの場所を入力します。

このポリシー設定が無効になっているか、構成されていない場合、コマンドレットの SourcePath パラメーターの Update-Help 既定値はありません。 ユーザーは、インターネットまたは任意のファイル システムの場所からヘルプをダウンロードできます。

詳しくは、「about_Updatable_Help」をご覧ください。

キーワード

about_Group_Policies about_GroupPolicy

こちらもご覧ください