Powershell ISEでスクリプトの実行が無効の為セキュリティエラーが発生し実行できない場合の対処法

プログラム

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

これで無事実行できるようになりました。

コメント