PowerShell スクリプト実行の実行ポリシーを変更するためのステップバイステップ ガイド
- PowerShell 実行ポリシーを変更するには、PowerShell (管理者)を起動し、コマンド「Set-ExecutionPolicy RemoteSigned」を実行してスクリプトの実行を有効にします。または、「Set-ExecutionPolicy AllSigned」コマンドは、検証済みの発行元からのスクリプトのみを許可します。一方、「Set-ExecutionPolicy Unrestricted」コマンドは、すべてのスクリプトを自由に実行できるようにします。
- デフォルト設定に戻したい場合は、「Set-ExecutionPolicy Restricted」コマンドを使用してスクリプトの実行を完全に禁止します。
- Windows 10 または 11 の設定アプリケーションを使用して PowerShell スクリプトのアクセス許可を調整することもできます。
デフォルトでは、Windows 10 または 11 で PowerShell でスクリプトを実行しようとすると、「このシステムではスクリプトの実行が無効になっているため、読み込むことができません」というエラー メッセージが表示されることがあります。このエラーは、システム上での悪意のあるアクティビティを回避するためにスクリプトと構成ファイルの実行方法を制御する、セキュリティのために設定されている実行ポリシーが原因で発生します。
これらのオペレーティング システムでスクリプトを実行するには、ローカル マシン、現在のユーザー、またはセッション自体の実行ポリシーを変更するオプションがあります。
現在のユーザーまたはローカル マシンの実行ポリシーを設定すると、この情報は Windows レジストリに保存されます。ただし、セッションのみにポリシーを設定した場合、その変更は PowerShell を閉じるまでしか保持されません。
Microsoftが述べているように、これらの実行ポリシーはアクティビティに制限を課すものではありません。コマンド ラインにスクリプトを直接入力することで、一時的に制限を回避することができます。これらのポリシーの目的は、ユーザーが有害なスクリプトの実行を回避できるようにすることです。
このガイドでは、Windows 10 または 11 上の PowerShell 内でスクリプトを正常に実行できるように実行ポリシーを変更する詳細な手順を説明します。
- PowerShell 経由で Windows 11 の実行ポリシーを変更する
- Windows 11の設定から実行ポリシーを変更する
- 実行ポリシーを変更して、署名されていないスクリプトの実行を許可する
PowerShell 経由で Windows 11 の実行ポリシーを変更する
Windows 10 または 11 で PowerShell 実行ポリシーを変更するには、次の手順に従います。
-
Windows 11 デバイスで[スタート] を押します。
-
PowerShellを検索し、一番上の結果を右クリックして、「管理者として実行」を選択します。
-
現在の実行ポリシーを確認するには、次のコマンドを入力し、Enter キーを押します。
Get-ExecutionPolicy
-
(オプション) 有効な PowerShell 実行ポリシーを一覧表示するには、次のコマンドを入力してEnter キーを押します。
Get-ExecutionPolicy -List
-
Windows 11 マシンでスクリプトを実行できるようにするには、次のコマンドを入力してEnter キーを押します。
Set-ExecutionPolicy RemoteSigned
-
(オプション) スクリプトが実行されないようにするには、次のコマンドを入力してEnter キーを押します。
Set-ExecutionPolicy Restricted
手順を完了すると、Windows 11 でスクリプトを正常に実行できるようになります。いつでもスクリプトの実行権限を元に戻したい場合は、上記のオプションのコマンドを実行できます。
現在のユーザーまたはローカル デバイスに対してのみスクリプトの実行を許可するように実行ポリシーを設定する必要がある場合は、次のようにコマンドで「スコープ」オプションを使用できます。Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
またはSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
。
Windows 11 では、どのスクリプトを実行できるかを制御するための 4 つの実行ポリシーがあります。
- 制限 —すべてのスクリプトの実行を防止します。
- RemoteSigned —ローカルで作成されたスクリプトを許可しますが、他のマシンからのスクリプトは信頼できる発行元によって署名されている必要があります。
- AllSigned —信頼できるソースによって署名されている限り、すべてのスクリプトを許可します。
- 無制限 –あらゆるスクリプトを制限なく実行できます。
スクリプトが特定のパラメータを必要とせず、出力も提供しない場合は、実行ポリシーを変更する必要がない可能性があります。代わりに、コマンドを使用してPowerShell.exe -File "FILENAME"-ExecutionPolicy Bypass
制限を回避できます。
Windows 11の設定から実行ポリシーを変更する
Windows 10 および 11 では、設定アプリを通じて PowerShell スクリプトのアクセス許可を変更することもできます。
Windows 11の場合
設定アプリケーションを使用して実行ポリシーを更新するには、次の手順に従います。
-
設定を開きます。
-
システムを選択します。
-
開発者向けセクションに移動します。
-
PowerShellオプションをクリックします。
-
「実行ポリシーを変更してローカル PowerShell スクリプトを許可する […]」のトグルを有効にします。
このオプションを有効にしたくない場合は、同じ手順に従い、手順 5でトグル スイッチを無効にします。
Windows 10の場合
設定アプリから PowerShell 実行ポリシーを更新するには、次の手順に従います。
-
設定を開きます。
-
[更新とセキュリティ]を選択します。
-
「開発者向け」セクションに移動します。
-
PowerShell 設定内で「実行ポリシーを変更してローカル PowerShell スクリプトを許可する […]」オプションを有効にします。
-
変更を保存するには、「適用」ボタンをクリックします。
この機能を無効にしたい場合は、同じ手順を繰り返しますが、手順 4でオプションを無効にして変更を適用します。
手順を完了すると、PowerShell 実行ポリシーが「RemoteSigned」に設定され、署名を必要とせずにローカル スクリプトを実行できるようになりますが、リモート スクリプトの検証は必須になります。
署名されていないスクリプトを実行するために実行ポリシーを変更する
別のコンピューターから生成された、またはオンラインでダウンロードされた PowerShell スクリプトに遭遇した場合、それを実行しようとすると、「ファイル […].ps1 を読み込むことができません。ファイル […].ps1 はデジタル署名されていません。このスクリプトは現在のシステムでは実行できません」、または「スクリプトはシステム上で実行されません」というエラーが発生することがあります。ただし、その安全性が確実で、ソースが信頼できる場合は、「プロセス」スコープ ポリシーを調整して実行を承認できます。
PowerShell 実行ポリシーを変更して、デジタル署名されていない「.ps1」スクリプトの実行を許可するには、次の手順に従います。
-
スタートを開きます。
-
PowerShellを検索し、一番上の結果を右クリックして、「管理者として実行」を選択します。
-
ポリシーを修正して署名されていない PowerShell スクリプトを許可するには、次のコマンドを入力してEnter キーを押します。
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
これらの手順を実行した後、現在のセッション中にコマンドを使用してスクリプト ファイルを実行します.\Your-PowerShell-Script.ps1
。PowerShell セッションを閉じると、実行ポリシーが以前の状態にリセットされ、それ以上調整しないと他のスクリプトが実行されなくなることに注意してください。
別のスクリプトを実行する必要がある場合は、概説した手順を繰り返すことができます。
2024 年 10 月 10 日更新:このガイドは、正確性を確保し、プロセスにおける最近の変更を反映するために改訂されました。
コメントを残す