信頼できる発行者によって署名されていない PowerShell スクリプトを実行しようとすると、次のセキュリティ エラーが発生することがあります。 現在のシステムでこのスクリプトを実行
することはできません。 スクリプトの実行と実行ポリシーの設定については、
about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170を参照してください。
How to resolve the error PowerShell script is not digitally signed?
There are some resolution for this issue.See section PowerShell error.PowerShell error.PowerScript is not digital signed? 実行したいPowerShellスクリプトに署名する、実行ポリシーを変更する、ポリシーをバイパスする、またはファイルのブロックを解除してそのセッションで一度実行できるようにします。
実行ポリシーを確認する
実行ポリシーを取得するためにGet-ExecutionPolicyコマンドレットを実行できます。
また、各スコープに対する実行ポリシーを取得するには-listパラメータを追加することが可能です。
実行ポリシーを永久に変更
このエラー メッセージを取り除く最も簡単だが安全でない方法は、Set-ExecutionPolicy コマンドレットを使用して ExecutionPolicy を変更して実行ポリシーを unrestricted に設定する方法です。
Set-ExecutionPolicy -ExecutionPolicy unrestricted
Change Execution Policy Temporarily
実行ポリシーを一時的に変更するには、Set-ExecutionPolicyコマンドレットでByPass設定を使用します。
Set-ExecutionPolicy -ExecutionPolicy ByPass
以下は、-ExecutionPolicyパラメーターで受け入れられる値の詳細です:
- Restricted. 設定ファイルの読み込みやスクリプトの実行を行いません。 Restricted はデフォルトの実行ポリシーです。
- AllSigned. ローカルコンピュータに記述したスクリプトを含め、すべてのスクリプトと構成ファイルが信頼できる発行者によって署名されることを要求します。
- RemoteSigned. インターネットからダウンロードされたすべてのスクリプトと構成ファイルが、信頼できる発行者によって署名されていることを要求します。
- Unrestricted. すべての構成ファイルをロードし、すべてのスクリプトを実行します。 インターネットからダウンロードした署名されていないスクリプトを実行する場合、実行前に許可を求めるプロンプトが表示されます。
- Bypass。 何もブロックされず、警告やプロンプトも表示されません。
- Undefined。 現在割り当てられている実行ポリシーを現在のスコープから削除します。 このパラメータは、グループポリシースコープに設定されている実行ポリシーを削除しません。
Set-ExecutionPolicyコマンドのデフォルトのスコープはLocalMachineです。 また、-Scopeパラメータを追加することで、どのスコープにポリシーを設定するかを指定することができます。 以下は、設定可能なスコープの詳細です:
- Process:
- CurrentUser: 実行ポリシーは、現在のPowerShellプロセスのみに影響します。
- LocalMachine: 実行ポリシーは、現在のユーザーのみに影響します。
特定のスコープから実行ポリシーを削除するには、そのスコープの実行ポリシーを未定義に設定します。