次の方法で共有


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.ps1 スクリプトは、PowerShell 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

Note

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

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

Console セッション構成ポリシー設定は、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 スクリプト ブロック ログのポリシー設定を使用すると、すべての PowerShell スクリプト入力を Microsoft-Windows-PowerShell/Operational イベント ログに記録できます。 このポリシー設定を有効にした場合、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 の既定のソース パスの設定ポリシー設定では、Update-Help コマンドレットの SourcePath パラメーターの既定値を設定します。 この設定により、ユーザーは Update-Help コマンドレットを使用してインターネットからヘルプ ファイルをダウンロードできなくなります。

Note

このグループ ポリシー設定は、 Computer Configuration および User Configuration の下に表示されます。 ただし、 Computer 構成 のグループ ポリシー設定のみが有効です。 User Configuration のグループ ポリシー設定は無視されます。

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

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

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

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

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

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

キーワード

about_Group_Policies about_GroupPolicy

関連項目