Categories: OS

PowerShellのGet-ExecutionPolicyとは?使い方や変更方法を徹底解説!

PowerShellを使用する際に「スクリプトが実行できない」といったトラブルに遭遇したことはありませんか? その原因のひとつとして「実行ポリシー」が関係している可能性があります。PowerShellのGet-ExecutionPolicyコマンドを活用すれば、現在の実行ポリシーを確認し、スクリプトの実行を適切に管理できます。
この記事では、Get-ExecutionPolicyの基本的な使い方、各実行ポリシーの意味、設定変更方法、実行ポリシーを変更する際の注意点について詳しく解説します。PowerShellを安全かつ効率的に活用するために、ぜひ最後までご覧ください。


Get-ExecutionPolicyとは?

PowerShellのGet-ExecutionPolicyコマンドは、現在の「実行ポリシー(Execution Policy)」を確認するためのコマンドです。
実行ポリシーとは、PowerShellでスクリプトを実行する際のセキュリティレベルを制御するルールのことです。誤って悪意のあるスクリプトを実行しないよう、デフォルトではスクリプトの実行が制限されています。

実行ポリシーの主な目的

  • 不正なスクリプトの実行を防ぐ
  • システムのセキュリティを強化する
  • 必要に応じて適切な実行レベルを設定する

PowerShellでスクリプトを実行する際には、まずGet-ExecutionPolicyで現在の設定を確認することが重要です。


Get-ExecutionPolicyの使い方

基本的なコマンドの実行方法

PowerShellで現在の実行ポリシーを確認するには、以下のコマンドを入力します。

Get-ExecutionPolicy

実行すると、以下のように現在のポリシーが表示されます。

Restricted

この出力が示すように、Restrictedはスクリプトの実行が完全に禁止されている状態です。


実行ポリシーの種類と意味

PowerShellには、以下の6つの実行ポリシーが存在します。それぞれのポリシーによってスクリプトの実行可否が異なります。

実行ポリシー内容
Restrictedスクリプトの実行を完全に禁止(デフォルト設定)
AllSigned署名されたスクリプトのみ実行可能
RemoteSignedローカルスクリプトは実行可能、ダウンロードしたスクリプトは署名が必要
Unrestrictedすべてのスクリプトを実行可能(警告あり)
Bypassすべてのスクリプトを実行可能(警告なし)
Undefined特定のスコープに設定なし(上位スコープのポリシーを適用)

通常、セキュリティと利便性のバランスを取るために、「RemoteSigned」 が推奨されることが多いです。


実行ポリシーを変更する方法

現在の実行ポリシーが制限されており、スクリプトを実行できない場合は、Set-ExecutionPolicyコマンドを使用してポリシーを変更できます。

実行ポリシーを「RemoteSigned」に変更する

管理者権限で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

この方法を使うと、現在のポリシーを変更せずにスクリプトを実行できます。特定のスクリプトだけ実行したい場合に便利です。


実行ポリシーを変更する際の注意点

実行ポリシーを変更する際は、以下のポイントに注意してください。

  1. セキュリティリスクを理解する
    • UnrestrictedBypass を設定すると、悪意のあるスクリプトも実行可能になり、セキュリティリスクが高まります。
  2. 管理者権限が必要
    • Set-ExecutionPolicy を実行するには、管理者権限でPowerShellを起動する必要があります。
  3. グループポリシーの影響を確認
    • 組織のグループポリシーで実行ポリシーが設定されている場合、ローカルでの変更が反映されないことがあります。

まとめ

PowerShellのGet-ExecutionPolicyコマンドを使えば、現在の実行ポリシーを簡単に確認できます。実行ポリシーは、スクリプトのセキュリティを管理する重要な設定であり、適切に設定することで安全にスクリプトを運用できます。

記事のポイントまとめ

Get-ExecutionPolicy は現在の実行ポリシーを確認するコマンド
✅ PowerShellの実行ポリシーには6種類あり、それぞれ異なるセキュリティレベルを持つ
✅ 実行ポリシーを変更するには Set-ExecutionPolicy を使用する
✅ 一時的に変更する方法もあるが、セキュリティリスクに注意が必要

PowerShellのスクリプトを実行する際は、常にセキュリティを意識し、適切な実行ポリシーを設定するようにしましょう!

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。