シェルスクリプトの実行ポリシーを変更する

シェルスクリプトの実行を許可する

1. 管理者権限でPowerShellを起動する。

2. Set-ExecutionPolicyコマンドで実行ポリシーを変更する。

Image: スクリーンショット写真

「set-executionpolicy remotesigned」を実行する。警告が表示されたらYを入力してエンターキーを押す。

実行ポリシーを既定の設定に戻す

1. 管理者権限でPowerShellを起動する。

2. Set-ExecutionPolicyコマンドで実行ポリシーを変更する。

「set-executionpolicy restricted」を実行する。警告が表示されたらYを入力してエンターキーを押す。

実行ポリシーの選択について

以下about_Execution_Policiesヘルプより一部抜粋。

 WINDOWS POWERSHELL 実行ポリシー
 -------------------------------

    Windows PowerShell の実行ポリシーを次に示します。

    既定のポリシーは "Restricted" です。

        Restricted
            - 既定の実行ポリシーです。

            - 個々のコマンドは許可されますが、スクリプトは実行されません。

            - 書式設定ファイルと構成ファイル (.ps1xml)、モジュール スクリプト ファイル 
              (.psm1)、および Windows PowerShell プロファイル (.ps1) を含む、すべてのスクリプト 
              ファイルの実行が禁止されます。
    
        AllSigned
            - スクリプトを実行できます。

            - すべてのスクリプトと構成ファイルが信頼された発行元によって署名されていることが
              要求されます (ユーザーがローカル コンピューターで作成するスクリプトを含む)。

    	    - 信頼されているかどうかが分類されていない発行元からのスクリプトを実行する前に、プ
    	      ロンプトが表示されます。

            - インターネット以外のソースによる署名なしスクリプトや署名済みの悪意のあるスクリ
              プトを実行する危険性があります。
      
        RemoteSigned
            - スクリプトを実行できます。

            - インターネットからダウンロードされたスクリプトおよび構成ファイル (電子メール プ
              ログラムとインスタント メッセージング プログラムを含む) に対して、信頼された発行元
              によるデジタル署名が必要です。

    	    - (インターネットからダウンロードしたのではなく) ローカル コンピューターで実行され
    	      たスクリプトおよび作成されたスクリプトにはデジタル署名は不要です。

            - 署名済みの悪意のあるスクリプトを実行する危険性があります。

        Unrestricted
            - 署名なしスクリプトを実行できます (悪意のあるスクリプトを実行する危険性があります)。

            - インターネットからダウンロードしたスクリプトおよび構成ファイルを実行する前にユ
              ーザーに警告します。

        Bypass
            - 何もブロックされず、警告またはプロンプトも表示されません。

            - この実行ポリシーは、Windows PowerShell スクリプトが大きいアプリケーションに組み
              込まれる構成や、独自のセキュリティ モデルを備えたプログラムの基礎として Windows 
              PowerShell が使用される構成を対象に設計されています。

        Undefined
            - 現在のスコープで設定されている実行ポリシーはありません。

            - すべてのスコープの実行ポリシーが Undefined である場合、効力を持つ実行ポリシーは
              既定の実行ポリシーである Restricted となります。


    注: 汎用名前付け規則 (UNC) パスとインターネット パスとが区別されないシステムでは、
        RemoteSigned 実行ポリシーで UNC パスによって識別されるスクリプトの実行が許可されない可能性
        があります。