PowerShellを使用する際に「スクリプトが実行できない」といったトラブルに遭遇したことはありませんか? その原因のひとつとして「実行ポリシー」が関係している可能性があります。PowerShellのGet-ExecutionPolicy
コマンドを活用すれば、現在の実行ポリシーを確認し、スクリプトの実行を適切に管理できます。
この記事では、Get-ExecutionPolicy
の基本的な使い方、各実行ポリシーの意味、設定変更方法、実行ポリシーを変更する際の注意点について詳しく解説します。PowerShellを安全かつ効率的に活用するために、ぜひ最後までご覧ください。
PowerShellのGet-ExecutionPolicy
コマンドは、現在の「実行ポリシー(Execution Policy)」を確認するためのコマンドです。
実行ポリシーとは、PowerShellでスクリプトを実行する際のセキュリティレベルを制御するルールのことです。誤って悪意のあるスクリプトを実行しないよう、デフォルトではスクリプトの実行が制限されています。
PowerShellでスクリプトを実行する際には、まずGet-ExecutionPolicy
で現在の設定を確認することが重要です。
PowerShellで現在の実行ポリシーを確認するには、以下のコマンドを入力します。
Get-ExecutionPolicy
実行すると、以下のように現在のポリシーが表示されます。
Restricted
この出力が示すように、Restricted
はスクリプトの実行が完全に禁止されている状態です。
PowerShellには、以下の6つの実行ポリシーが存在します。それぞれのポリシーによってスクリプトの実行可否が異なります。
実行ポリシー | 内容 |
---|---|
Restricted | スクリプトの実行を完全に禁止(デフォルト設定) |
AllSigned | 署名されたスクリプトのみ実行可能 |
RemoteSigned | ローカルスクリプトは実行可能、ダウンロードしたスクリプトは署名が必要 |
Unrestricted | すべてのスクリプトを実行可能(警告あり) |
Bypass | すべてのスクリプトを実行可能(警告なし) |
Undefined | 特定のスコープに設定なし(上位スコープのポリシーを適用) |
通常、セキュリティと利便性のバランスを取るために、「RemoteSigned」 が推奨されることが多いです。
現在の実行ポリシーが制限されており、スクリプトを実行できない場合は、Set-ExecutionPolicy
コマンドを使用してポリシーを変更できます。
管理者権限でPowerShellを開き、以下のコマンドを入力します。
Set-ExecutionPolicy RemoteSigned
変更を確認するメッセージが表示されるので、「Y」を押して適用します。
Execution Policy Change
Do you want to change the execution policy?
[Y] Yes [N] No [S] Suspend
変更後、Get-ExecutionPolicy
を実行すると、新しいポリシーが反映されていることを確認できます。
Get-ExecutionPolicy
出力例:
RemoteSigned
これで、ローカルのスクリプトが実行できるようになりました。
セキュリティを維持しつつ、一時的にスクリプトを実行したい場合は、PowerShellを一時的に実行ポリシーなしで起動できます。
powershell -ExecutionPolicy Bypass -File script.ps1
この方法を使うと、現在のポリシーを変更せずにスクリプトを実行できます。特定のスクリプトだけ実行したい場合に便利です。
実行ポリシーを変更する際は、以下のポイントに注意してください。
Unrestricted
や Bypass
を設定すると、悪意のあるスクリプトも実行可能になり、セキュリティリスクが高まります。Set-ExecutionPolicy
を実行するには、管理者権限でPowerShellを起動する必要があります。PowerShellのGet-ExecutionPolicy
コマンドを使えば、現在の実行ポリシーを簡単に確認できます。実行ポリシーは、スクリプトのセキュリティを管理する重要な設定であり、適切に設定することで安全にスクリプトを運用できます。
✅ Get-ExecutionPolicy
は現在の実行ポリシーを確認するコマンド
✅ PowerShellの実行ポリシーには6種類あり、それぞれ異なるセキュリティレベルを持つ
✅ 実行ポリシーを変更するには Set-ExecutionPolicy
を使用する
✅ 一時的に変更する方法もあるが、セキュリティリスクに注意が必要
PowerShellのスクリプトを実行する際は、常にセキュリティを意識し、適切な実行ポリシーを設定するようにしましょう!