この記事では、Windows 11 での Windows PowerShell スクリプト実行ポリシー の設定または変更について説明します。

PowerShell の実行ポリシーは、PowerShell が構成ファイルをロードする条件を制御する安全機能です。スクリプトを実行します。

Windows コンピュータでは、ローカル コンピュータ現在のユーザー、または特定のセッションに対して実行ポリシーを設定できます。実行ポリシーは、悪意のあるスクリプトの実行を防ぎます。

実行ポリシーは、ユーザーの操作を制限するセキュリティ システムではありません。たとえば、ユーザーは、スクリプトを実行できないときに、コマンド ラインでスクリプトの内容を入力することにより、ポリシーをバイパスできます。代わりに、実行ポリシーは、ユーザーが基本的なルールを設定するのに役立ち、意図せずに違反するのを防ぎます。

以下は、システム設定アプリ、Windows PowerShell アプリ、および Windows レジストリを介して PowerShell 実行ポリシーを設定または変更する手順です。

実行ポリシー:

Windows コンピューターで既定で使用できる PowerShell 実行ポリシーは次のとおりです。

AllSigned

スクリプトを実行できます。信頼できる発行元が、ローカル コンピューターで作成したスクリプトを含むすべてのスクリプトと構成ファイルに署名することを要求します。パブリッシャーからのスクリプトを実行する前に、まだ信頼済みまたは非信頼として分類されていないことを確認するメッセージが表示されます。リスクは、署名されているが悪意のあるスクリプトを実行しています。

バイパス

何もブロックされず、警告やプロンプトも表示されません。この実行ポリシーは、PowerShell スクリプトが大規模なアプリケーションに組み込まれている構成、または PowerShell が独自のセキュリティ モデルを持つプログラムの基盤である構成用に設計されています。

デフォルト

何もブロックされず、警告やプロンプトもありません。この実行ポリシーは、PowerShell スクリプトが大規模なアプリケーションに組み込まれている構成、または PowerShell が独自のセキュリティ モデルを持つプログラムの基盤である構成用に設計されています。

RemoteSigned

Windows サーバー コンピューターの既定の実行ポリシー。スクリプトを実行できます。電子メールやインスタント メッセージング プログラムなど、インターネットからダウンロードしたスクリプトや構成ファイルには、信頼できる発行元からのデジタル署名が必要です。ローカル コンピューターで作成され、インターネットからダウンロードされていないスクリプトにデジタル署名は必要ありません。 Unblock-File コマンドレットを使用するなどしてスクリプトのブロックが解除されている場合、インターネットからダウンロードされ、署名されていないスクリプトを実行します。インターネット以外のソースからの署名されていないスクリプトや、悪意のある可能性のある署名付きスクリプトを実行するリスク。

制限付き

Windows クライアント コンピュータのデフォルトの実行ポリシー。個々のコマンドを許可しますが、スクリプトは許可しません。書式設定ファイルと構成ファイル (.ps1xml)、モジュール スクリプト ファイル (.psm1)、および PowerShell プロファイル (.ps1) を含む、すべてのスクリプト ファイルの実行を防止します。

未定義

Windows クライアント コンピュータのデフォルトの実行ポリシー。個々のコマンドを許可しますが、スクリプトは許可しません。書式設定ファイルと構成ファイル (.ps1xml)、モジュール スクリプト ファイル (.psm1)、および PowerShell プロファイル (.ps1) を含む、すべてのスクリプト ファイルの実行を防止します。

無制限

Windows 以外のコンピュータのデフォルトの実行ポリシーは変更できません。署名されていないスクリプトを実行できます。悪意のあるスクリプトを実行するリスクがあります。ローカル イントラネット ゾーン以外のスクリプトや構成ファイルを実行する前に、ユーザーに警告します。

ポリシー スコープ

特定のスコープでのみ有効な実行ポリシーを設定できます。 Scope の有効な値は、MachinePolicyUserPolicyProcessCurrentUser、およびローカル マシンLocalMachine は、実行ポリシーを設定するときのデフォルトです。

MachinePolicy

コンピュータのすべてのユーザーのグループ ポリシーによって設定されます。 [コンピュータの構成] > [管理用テンプレート] > [Windows コンポーネント] > [Windows PowerShell] >スクリプトの実行を有効にする

UserPolicy

によって設定コンピューターの現在のユーザーのグループ ポリシー。 ユーザーの構成 > 管理用テンプレート > Windows コンポーネント > Windows PowerShell >スクリプトの実行を有効にする

プロセス

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

CurrentUser

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

LocalMachine

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

PowerShell 実行ポリシーを設定または変更する前に、現在のポリシーを確認する必要がある場合があります。

以下のコマンドを管理者として PowerShell に実行することで確認できます。

Get-ExecutionPolicy-List

上記のコマンドは、デバイスの現在の PowerShell 実行ポリシーを一覧表示します。

スコープ ExecutionPolicy——————–MachinePolicy 未定義 UserPolicy 未定義 Process 未定義 CurrentUser 未定義 LocalMachine 未定義

PowerShell 実行ポリシーを「RemoteSigned」に設定または Windows 設定アプリの現在のユーザーに対して「制限付き

Windows 設定アプリでは、PowerShell 実行ポリシーを「RemoteSigned」または「」に設定できます>制限されています。」

オンまたはオフにする方法は次のとおりです。

まず、Windows 設定 アプリを開きます。

これを行うには、[スタート] ボタンをクリックします。メニュー を開き、設定を選択します。または、キーボード ショートカット (Windows キー + I) を押して設定アプリを起動します。

設定アプリが開いたら、[プライバシーとセキュリティ] ボタンをクリックします。

[設定] の [Windows プライバシーとセキュリティ] ボタン

右側で、[開発者向け] タイルを選択して展開します。

設定アプリの開発者向け Windows タイル

[プライバシーとセキュリティ-> 開発者向け] 設定ペインで、PowerShell タイルをクリックして展開します。

設定アプリの Windows PowerShell タイル

展開された PowerShell タイルで、ボタン スイッチを オン 現在のユーザーの「RemoteSigned」および「Restricted」ポリシーを有効にする位置。

無効にするには、ボタンをオフの位置。

Windows で PowerShell 実行ポリシー、リモート スクリプトをオンにする

設定アプリを終了します。

現在の PowerShell 実行ポリシーを設定しますPowerShell のユーザーとローカル マシン

個々の PowerShell 実行ポリシーを管理者として PowerShell から直接設定できます。これを行うには、まず管理者として Windows PowerShell アプリを開きます。

次に、以下のコマンドを実行して、各実行ポリシーを有効にします。

AllSigned

Set-ExecutionPolicy AllSigned-Scope CurrentUser-Force Set-ExecutionPolicy AllSigned-Scope LocalMachine-Force

Bypass

Set-ExecutionPolicy Bypass-Scope CurrentUser-Force Set-ExecutionPolicy Bypass-Scope LocalMachine-Force

Default

Set-ExecutionPolicy Default-Scope CurrentUser-Force Set-ExecutionPolicy Default-Scope LocalMachine-Force

RemoteSigned

Set-ExecutionPolicy RemoteSigned-Scope CurrentUser-Force Set-ExecutionPolicy RemoteSigned-Scope LocalMachine-Force

Restricted

Set-ExecutionPolicy Restricted-Scope CurrentUser-Force Set-ExecutionPolicy Restricted-Scope LocalMachine-Force

未定義

Set-ExecutionPolicy 未定義-Scope CurrentUser-For ce Set-ExecutionPolicy Undefined-Scope LocalMachine-Force

Unrestricted

Set-ExecutionPolicy Unrestricted-Scope CurrentUser-Force Set-ExecutionPolicy Unrestricted-Scope LocalMachine-Force

PowerShell スクリプトの実行を設定するWindows レジストリ エディタによるポリシー

Windows で PowerShell スクリプト実行ポリシーを設定または変更するもう 1 つの方法は、Windows レジストリ エディタを使用することです。

まず、Windows レジストリを開き、次の場所に移動します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell

Microsoft.PowerShell フォルダー キーが表示されないと仮定して、右クリックします。 ShellIds キーで、サブキー (Microsoft.PowerShell) フォルダーを作成します

Windows は、レジストリを介して PowerShell 実行ポリシーを変更します

Microsoft.PowerShell フォルダ キーの右ペインを開き、新規-> 文字列値 を選択します。次に、ExecutionPolicy という名前の新しいキーを入力します。

新しいキー項目名 (ExecutionPolicy) をダブルクリックします。 )、有効にする各ポリシーの値のデータを入力します。

Restricted AllSigned RemoteSigned 無制限 バイパス Windows は、レジストリ値データを使用して PowerShell 実行ポリシーを変更します

変更を保存して、コンピューターを再起動します。

それでいいはずです!

参照:

https://learn.microsoft.com/en-us/powershell/module/microsoft.powe rshell.core/about/about_execution_policies?view=powershell-7.3

結論:

この投稿では、PowerShell 実行ポリシーを変更する方法を示しました上記のエラーを見つけた場合、または何か追加したいことがある場合は、下のコメント フォームを使用してください。

Categories: IT Info