デフォルト設定ではスクリプトの実行が禁止になっているため、有効にする必要があります。
エラーの発生例

このシステムではスクリプトの実行が無効になっているため、ファイル *スクリプトファイル名* を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?Link
ID=135170) を参照してください。
+ CategoryInfo : セキュリティ エラー: (: ) []、ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS D:\>
解決方法
実行ポリシー(ExecutionPolicy) を変更し、スクリプトの実行を許可します。ExecutionPolicyは次の4種類あり、いくつか設定方法があります。現在の設定値は次のコマンドで確認できます。
> Get-ExecutionPolicy
Restricted
設定値 | 説明 |
---|---|
Restricted | すべてのスクリプトは実行できません。 |
AllSigned | 信頼できる発行元によって署名されているスクリプトのみ実行できます。 |
RemoteSigned | ローカルの著名なしスクリプトと、インターネットからダウンロードした署名付きのスクリプトが実行できます。 |
Unrestricted | すべてのスクリプトを実行できますが、インターネットからダウンロードしたスクリプトは警告が表示されます。 |
Bypass | すべてのスクリプトを実行できます。 |
Default | 既定の実行ポリシーです。Windows の場合は Restricted、Windowsサーバー では RemoteSigned になります。また、Linux や macOS では Unrestricted です。 |
実行ポリシーの設定方法 その1 一時的にスクリプトを実行可能にする(管理者権限不要)
- PowerShellを起動する度に設定が必要です。
- 管理者権限は不要です。
-
Set-ExecutionPolicy コマンドで ExecutionPolicy を変更します。
> Set-ExecutionPolicy RemoteSigned -Scope Process
> Set-ExecutionPolicy RemoteSigned -Scope Process 実行ポリシーの変更 実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170) で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか? [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"): y
これでスクリプトが実行可能な状態になりました。
実行ポリシーの設定方法 その2 常にスクリプトを実行可能にする(管理者権限が必要)
- 設定の変更には管理者権限が必要です。
- スクリプト実行時に管理者権限は不要です。
- コンピューターを再起動しても、設定は有効のままです。
- セキュリティリスクが高くなります。
- システム管理者権限で PowerShell を起動します。
-
Set-ExecutionPolicy コマンドで ExecutionPolicy を変更します。
> Set-ExecutionPolicy RemoteSigned
これでスクリプトが実行可能な状態になりました。PowerShell を通常通り起動し直してからスクリプトを実行します。このままスクリプトを実行すると管理者権限で動作するため、危険です。> Set-ExecutionPolicy RemoteSigned 実行ポリシーの変更 実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170) で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか? [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"): y
実行ポリシーの設定方法その3 PowerShell を起動するときに実行ポリシーを指定する(管理者権限不要)
PowerShell の起動引数で実行ポリシーの指定ができます。 PowerShell のショートカットを作成し、起動引数を指定しておくと便利です。起動引数の指定方法
PowerShell.exe -ExecutionPolicy Unrestricted

検証環境
- Windows PowerShell 5.1.17134.112
- Microsoft Windows 10 Pro Version 1803 Build 17134.112