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 管理istrative Templates がローカル コンピューターにインストールされます。

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 管理Istrative テンプレートには、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 使用してインターネットからヘルプ ファイルをダウンロードできなくなります。

Note

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

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

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

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

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

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

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

キーワード

about_Group_Policies about_GroupPolicy

関連項目