【VSCode】PowerShellで「スクリプトの実行が無効」と表示される場合の対処法
みなさんこんにちは。
VSCodeのターミナルでnpmなどのコマンドを実行した際に、「このシステムではスクリプトの実行が無効になっているため、ファイルを読み込むことができません」と表示されることがあります。
このエラーは、PowerShellの実行ポリシー(ExecutionPolicy)によって.ps1スクリプトの実行が制限されている場合に発生します。
今回は、現在の実行ポリシーを確認し、CurrentUserだけをRemoteSignedへ変更して再確認する方法をご紹介したいと思います。
この記事はこんな人におすすめ
- VSCodeでnpmコマンドを実行できない人
- PowerShellでスクリプト実行エラーが表示される人
- ExecutionPolicyを安全に確認・変更したい人
「スクリプトの実行が無効」と表示される
VSCodeでPowerShellターミナルを開き、例えば次のコマンドを実行します。
npm -v
環境によっては、npm.ps1を読み込もうとした際に「スクリプトの実行が無効」といったエラーが表示されます。

ExecutionPolicyとは
ExecutionPolicyは、PowerShellでスクリプトを実行するときの条件を決める仕組みです。Microsoftでは、悪意のあるスクリプトを意図せず実行することを防ぐための安全機能として説明されています。
エラーを解消するためにUnrestrictedやBypassへ安易に変更するのではなく、必要な範囲だけ変更することが大切です。
現在の実行ポリシーを確認する
VSCodeのPowerShellで、まず次のコマンドを実行します。
Get-ExecutionPolicy -List
MachinePolicy、UserPolicy、Process、CurrentUser、LocalMachineなど、各スコープの設定が表示されます。今回確認したいのは主にCurrentUserです。

CurrentUserをRemoteSignedへ変更する
個人PCで内容を確認したうえで変更する場合は、次のコマンドを実行します。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
確認メッセージが表示された場合は内容を確認してから実行してください。CurrentUserを指定すると、現在のユーザーだけが対象になります。
RemoteSignedでは、ローカルで作成したスクリプトは実行でき、インターネットから取得したスクリプトには署名などの条件が求められます。

設定を再確認する
変更後は、次のコマンドでもう一度確認します。
Get-ExecutionPolicy -Scope CurrentUser
RemoteSignedと表示されれば設定されています。続いて、先ほど失敗したコマンドをもう一度実行します。
npm -v
npmのバージョンが表示されれば対処完了です。

学校・会社などの組織PCでは注意する
学校や会社のPCでは、管理者がグループポリシーでExecutionPolicyを設定している場合があります。MachinePolicyやUserPolicyが設定されていると、CurrentUserを変更しても有効な実行ポリシーが変わらないことがあります。
その場合は設定を回避しようとせず、組織の管理者へ確認してください。業務端末ではセキュリティポリシーを優先することが大切です。
最後に
いかがでしたでしょうか。
今回は、VSCodeのPowerShellで「スクリプトの実行が無効」と表示される場合の対処法をご紹介しました。
まずはGet-ExecutionPolicy -Listで現状を確認し、個人PCで変更が必要な場合はCurrentUserの範囲でRemoteSignedを設定してみてください。
少しでも参考になれば幸いです。
開発依頼について
ココナラでWebスクレイピング開発サービスを出品しております。
自分で開発をしようと思ったけど、VBAでのネット記事が少なく困っている方も多いかと思います。
そんな方はいつでもお気軽にご相談ください。
また、本ブログからご依頼いただいた方については割引特典がございますので、
ご不明点と合わせてメッセージをいただけると幸いです。
Excelにてブラウザ操作自動化ツールを作成します その作業、webスクレイピングを使って自動化しましょう!Webスクレイピング以外にもWebアプリの開発サービスも出品しております。
こちらについても、本ブログからご依頼いただいた方については割引特典がございますので、
お気軽にご相談ください。
スモールスケールのWebアプリ開発します 先ずはスモールスケールのWebアプリから始めませんか?
