Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【コマンドプロンプト】エラーメッセージ「○○.ps1 : このシステムではスクリプトの実行が無効になっているため、ファイル ○○.ps1 を読み込むことができません。」

コマンドプロンプトPowerShellスクリプトを実行しようとしたときに、実行できないことがある。

>powershell 〇〇.ps1
○○.ps1 : このシステムではスクリプトの実行が無効になっているため、ファイル ○○.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
発生場所 行:1 文字:1
+ ○○.ps1
+ ~~~~~~~~~~~~
    + CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

PowerShellの実行ポリシー(スクリプトが実行される条件)が設定されていない。デフォルトでは「Restricted」が設定されており、このポリシーはすべてのスクリプト(.ps1)の実行を禁止する。 通常の使用では、「RemoteSigned」を推奨する。このポリシーでは、ローカルコンピューター上で作成したスクリプトは、そのまま実行することができる。 「Restricted」→「RemoteSigned」変更の手順は、以下のとおり。

PowerShellを管理者として実行してGet-ExecutionPolicyコマンドレットで現在のポリシーを確認する。

> Get-ExecutionPolicy
Restricted

ポリシーを変更する。

PS > Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
実行ポリシーの変更
行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies のヘルプ トピック(https://go.microsoft.com/fwlink/?LinkID=135170)で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "N"):

「Y」を入力後にEnterキーを押すと、ポリシーが変更される。これで、コマンドプロンプトでもPowerShellスクリプトが実行できるようになる。 実行ポリシーの詳細については、以下のリンク先を参照のこと。

https://learn.microsoft.com/ja-jp/previous-versions/windows/powershell-scripting/hh847748(v=wps.640)