Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Powershell

「このシステムではスクリプトの実行が無効になっているため、ファイルXXXを読み込みことができません」エラー(PowerShell)が出る原因と対処方法

投稿日:2022年4月24日 更新日:

<目次>

(1) 「このシステムではスクリプトの実行が無効になっているため、ファイルXXXを読み込みことができません」エラー(PowerShell)が出る原因と対処方法
 (1-1) エラーメッセージ・発生状況について
 (1-2) 原因
 (1-3) 対処法

(1) 「このシステムではスクリプトの実行が無効になっているため、ファイルXXXを読み込みことができません」エラー(PowerShell)が出る原因と対処方法

(1-1) エラーメッセージ・発生状況について

PowerShellにて以下のエラーが出ました。
 
(エラーメッセージ例)
XXXXX : このシステムではスクリプトの実行が無効になっているため、ファイル XXXXX を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
発生場所 行:1 文字:1
+ XXXXXX ; func host start
+ ~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess
一例として、このエラーはVisual Studio CodeにてAzure Functions(Python)のデバッグをしようとした際に発生しました。
 
(図111)
 

(1-2) 原因

このエラーはPowerShellの「Execution Policy」(PowerShellの安全装置のような機能)の設定が「Restricted」(スクリプトを許可しない)になっているため、権限不足により実行できなかった可能性があります。
 
例えば(図111)の場合「venv\Scripts\activate」コマンドが「Activate.ps1」というPower Shellのスクリプトを実行し、仮想環境(venv)を有効化しようとしたが、「Execution Policy」の設定で弾かれてしまった可能性があります。
 
それを確認する場合は、WindowsのPower Shellを開いて「Get-ExecutionPolicy」コマンドレットを実行し、その結果を見てみます。
 
(図121①)
 
この結果が「Restricted」になっているようであれば、後述する「対策」を実行する事で、事象が解消する可能性があります。
 
(参考)「Restricted」と「RemoteSigned」の違い
Execution Policyの値 ■Restricted ■RemoteSigned
・スクリプト実行 ×
(「.ps1」、「.ps1xml」、「.psm1」)
・コマンド実行
備考 ・Windows クライアント用OS(例:Windows7,8,10,11)のデフォルト値 ・Windows Serverのデフォルト値
・インターネット上からダウンロードしたスクリプトの実行の場合、電子署名が必要

(1-3) 対処法

上述の原因の場合はPowerShellの「Execution Policy」の値を「Restricted」⇒「RemoteSigned」に変更します。これにより拡張子「.ps1」のスクリプト等が実行可能になります(ローカルスクリプトの場合は署名不要、インターネット上のスクリプトの場合は署名必要)
 
・①WindowsのスタートメニューからPowerShellを検索し、右クリックで「管理者として実行」で開きます。
(図131①)

・②「Execution Policy」を変更するために以下のコマンドを実行します。
> set-executionpolicy remotesigned
 
⇒「Execution Policy」の値を「Remotesigned」に変更
 
(図131②)
・③確認のプロンプトが表示されたら「Y」を入力して「Enter」押下。
(図131③)

・④確認のため、再度「Get-ExecutionPolicy」で設定値が「RemoteSigned」になっている事を確認します。
(図131④)
ここまで実施すれば、エラーは発生しなくなっているはずです。

Adsense審査用広告コード


Adsense審査用広告コード


-Powershell

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Powershellで文字列をタブ区切りで分割~splitオペレータの活用~

<目次> (1) Powershellで文字列をタブ区切りで分割~splitオペレータの活用~  (1-1) 構文  (1-2) サンプルプログラム    (サンプルプログラム#1)ベーシックな「-s …

Powershellで文字列のダブルクォーテーションを削除する方法

<目次> (1) Powershellで文字列のダブルクォーテーションを削除する方法  (1-1) 方法1:.NETのString.Formatメソッドを使う方法  (1-2) 方法2:Powersh …

no image

ファイルのバックアップを自動化する手順をご紹介(Windows Powershell使用)

  <目次> (1) ファイルのバックアップを自動化する手順をご紹介(Windows Powershell使用)  (1-1) バックアップ自動化の方式(概要)  (1-2) バックアップ自 …

Powershellで親フォルダのパスを取得する方法+Split-Pathコマンドレットのオプションも併せてご紹介

<目次> (1) Powershellで親フォルダのパスを取得する方法  (1-1) 構文と使用例  (1-2) ご参考:Split-Pathのオプション (2) Powershellでフォルダ配下の …

Powershellで文字列がnullかどうか判定する方法

<目次> (1) Powershellで文字列がnullかどうか判定する方法  (1-1) 構文  (1-2) 構文使用例  (1-3) サンプルプログラム (1) Powershellで文字列がnu …

  • English (United States)
  • 日本語
Top