2ステップで解決する方法。
PowerShellのスクリプトを実行した際、「このシステムではスクリプトの実行が無効になっているため、xxxx.ps1 を読み込むことが出来ません。」 というセキュリティエラーが発生し実行ができない場合の設定変更方法。
PowerShel実行時のエラー画面
会社のPCが新しくなり、ちょっとしたスクリプトをPowershellで動かしていたので移行したところ下記のエラーが発生
なんだっけ、、何か昔のPCで設定した記憶があるな、と思い調査開始。
最近はエラーメッセージそのもので検索してヒットするから便利。
<このシステムではスクリプトの実行が無効になっているため、ファイル>
<ParentContainsErrorRecordException>
解決方法ステップ1、管理者モードでPowershellを起動する
まずはPowershellを管理者モードで起動する。
スタートメニューからPowershellを管理者モードで実行しても良いのだがなんとなくコマンドで出来ないのか?という疑問が生まれたので下記で再調査。
<powershel 管理者権限で実行>
Winキー+Rでcmdとタイプしてエンターを押し、下記コマンドをコピペして実行してみてください。
ユーザーアカウント制御の画面になるので「はい」を選択すると管理者モードでPowershellが起動されます。
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "Start-Process powershell.exe -Verb runas"
解決方法ステップ2、Powershell実行ポリシーの設定変更を行う。
Get-ExecutionPolicy で現状の設定内容を確認
Set-ExecutionPolicy にパラメータを付け実行ポリシーの変更を行う。
今回は Unrestrictedを設定する(ローカルPCの設定だけなのでこれで良しとした)
Set-ExecutionPolicy Unrestricted
これで無事実行できるようになりました。
コメント