【Windows】PowerShellでスクリプトを実行できるようにする
目次
スクリプトを実行するとエラーが表示される
何も設定されていないWidnows PowerShell
でスクリプトを実行しようとすると、以下のようなエラーが出てしまいます。
このエラーは、今のPowerShellはスクリプトを実行できる権限がありませんよ。ということらしいです。マルウェアなどの危険なスクリプトの不用意な実行を防ぐというセキュリティ状の配慮によるものらしいです。
今回のケースでは、静的ブログを作成できるフレームワークのhexo
を実行しようとしたときに起こりましたした。1
2
3
4
5
6
7
8hexo : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\DaikiIijima\AppData\Roaming\npm\hexo.p
s1 を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135
170) を参照してください。
発生場所 行:1 文字:1
+ hexo new "test"
+ ~~~~
+ CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
解決策
全6種類のポリシー
- AllSigned : 署名付きのスクリプトのみ実行可能
- Bypass : 検査巡回
- RemoteSigned : ローカルスクリプトと署名追記のリモートスクリプトのみ実行可能
- Restricted : 全て実行不可
- Undefined : 未定義
- Unrestricted : 全て実効可能
1. 現在の状態を取得する
表示された、Restricted
をRemoteSigned
に変更することで、スクリプトを実行できる状態にします。1
2
3$ Get-ExecutionPolicy
Restricted
2. 設定を変更する
1 |
|
再度状態を確認1
2
3$ Get-ExecutionPolicy
RemoteSigned
【Windows】PowerShellでスクリプトを実行できるようにする
https://daiki-iijima.github.io/2021/04/26/【Windows】PowerShellでスクリプトを実行できるようにする/