Windowsの「スクリプトの実行が無効なため、PowerShellを読み込むことができません」エラーを修正するための4つの方法

あなたのような読者が、MUOを支えています。当サイトのリンクを使って購入された場合、アフィリエイト報酬を得ることがあります。続きを読む

PowerShellでいくつかのコマンドを実行しているときに、突然、次のようなエラーメッセージが表示されました、

この問題の原因は何なのか、どうすれば解決できるのか、疑問に思っていませんか?この問題を解決するための簡単な方法をご紹介します。

潜ってみましょう!

1.PowerShellを管理者モードで実行する

現在、適切な管理者権限を持たずにPowerShellを実行していませんか?もしそうなら、おそらくそこに問題があるのでしょう。

そこで、管理者モードでツールを実行するための手順をご紹介します:

  • Win Xを押して、クイックアクセスメニューを開きます。
  • Windows PowerShell(Admin)」オプションを選択します。
  • Selecting the Windows PowerShell (Admin) option on the Quick Access Menu

    それでも解決しない場合は、Windows PowerShellを開くさまざまな方法を確認してください。ただし、管理者権限でツールを実行する方法を示している方法のみに注目する必要があります。

    2.PowerShellで実行ポリシーを変更する

    場合によっては、実行ポリシーを変更することで解決することもあります。しかし、解決策を探る前に、まず実行ポリシーとは何か、どのように機能するのかを説明します。

    実行ポリシーとは何か、どのように機能するのか?

    実行ポリシーは、デバイス上でPowerShellスクリプトを実行する方法を制御するセキュリティ機能です。実行ポリシーは、実行可能なスクリプトと実行を避けるべきスクリプトの種類を決定するものです。このポリシーは、自由に設定できるのが最大の特徴です。

    実行ポリシーを設定する際に選択できるオプションは以下の通りです:

    • 制限されています:このポリシーでは、PowerShell スクリプトの実行を禁止しています。
    • 無制限:任意のスクリプトの実行を許可しますが、疑わしいスクリプトを実行すると警告メッセージが表示されます。
    • RemoteSigned:このポリシーでは、オンラインでダウンロードしたスクリプトを実行するときにデジタル署名が必要です。ただし、ローカルスクリプトには署名は必要ありません。
    • ByPass(バイパス):このポリシーでは、任意のスクリプトを制限なく実行できます。f}Unrestricted"ポリシーとは異なり、"ByPass"ポリシーでは、疑わしいスクリプトを実行しても警告メッセージが表示されることはありません。そのため、このポリシーは常に正当なスクリプトを実行する場合にのみ適用してください。
    • AllSigned:このポリシーは、信頼できる発行者によって署名されたスクリプトのみを実行します。

    さて、PowerShellを定期的に使用している場合、実行ポリシーを時々変更したくなることがあると思います。しかし、実行ポリシーによっては、PowerShellスクリプトを実行する際にエラーメッセージが表示されることがあります。

    例えば、有効にすることで

    この問題を解決するためには、単純に実行ポリシを

    実行ポリシーを変更する際に追加しなければならないPowerShellコマンドをすべて調べてみましょう:

    • CurrentUser: このポリシーは、デバイスに現在ログインしている人のすべてのPowerShellセッションにのみ適用されます。
    • LocalMachineです:デバイスにアカウントを持っているすべてのユーザーに適用されます。このポリシーは、管理者権限を持つローカルユーザーのみ設定可能です。
    • Process(プロセス):現在の PowerShell セッションにのみ適用されます。つまり、新しいセッションを開始する場合は、ポリシーを再度実行する必要があります。
    • MachinePolicy:このポリシーは、デバイスにアカウントを持っているすべてのユーザーに適用されます。ただし、適切な権限を持つネットワーク管理者のみが設定することができます。しかし、ローカル管理者がローカルグループポリシーエディターを使用してこの実行ポリシーを設定することが可能な場合が多いです。
    • UserPolicy です:特定のユーザが実行するすべてのPowerShellセッションとスクリプトに適用されます。

    それでは、関連するポリシーを実行して、「PowerShellがロードできない」という問題に対処する方法を説明します。

    実行ポリシーを“Unrestricted“に変更する方法

    目の前の問題に対処する最善の方法は、実行ポリシーを"unrestricted."に変更することです。しかしその前に、各実行ポリシーがどのように設定されているかを確認する必要があります。

    ここでは、実行ポリシーがどのように設定されているかを確認する手順を説明します:

  • Win Xを押して、クイックアクセスメニューを開きます。
  • オプションから「Windows PowerShell(Admin)」を選択します。
  • 以下のコマンドを入力し、Enterキーを押します:
  • Get-ExecutionPolicy-List Displaying the list of execution policies

    これで、さまざまなユーザーやシステムに対して実行ポリシーがどのように設定されているかがわかるはずです。

    に実行方針を変更することができます。 Set-ExecutionPolicy Unrestricted-ScopeCurrentUserSetting the execution policy on PowerShell

    実行ポリシーを次のように変更します。 Set-ExecutionPolicy Unrestricted-Scopeローカルマシン

    コマンドの実行が終了したら、PowerShellを終了し、PCを再起動すると、この変更が保存されます。

    実行ポリシーを“ByPass“に変更する方法

    実行ポリシーを"ByPass"にすることで、どんなPowerShellスクリプトでも手間なく実行できるようになります。しかし、バグのあるファイルを実行してしまう可能性もあることを忘れないでください。そのため、信頼できるPowerShellファイルを実行する場合にのみ、常にこの実行ポリシーを設定してください。

    に実行方針を変更するには、次のようにします。 Set-ExecutionPolicy ByPass-ScopeCurrentUser (セットエクスキューションポリシー バイパス -スコープ カレントユーザー

    と実行ポリシーを変更することで Set-ExecutionPolicy ByPass-ScopeLocalMachine(実行ポリシー バイパス -スコープ ローカルマシン

    終了後、PowerShellを終了し、デバイスを再起動します。

    3.ローカルグループポリシーエディターで実行ポリシーを変更する

    A lady using a Windows PC while holding a cup

    ローカルグループポリシーエディタ(LGPE)を使えば、実行ポリシーを簡単に変更することも可能です。実際、このツールは、様々なシステム設定やPCのトラブルシューティングにも役立ちます。

    主な目的は、PowerShellスクリプトを問題なく実行できるように実行ポリシーを変更することであることを忘れないでください。そして、そうすることで、あなたは

    ここでは、LGPEで実行ポリシーを変更する方法を説明します:

  • スタートメニューの検索バーに「Edit group policy」と入力し、「Best match」を選択します。または、導光板を開くためのさまざまな方法を確認してください。
  • コンピュータの構成> 管理用テンプレート> Windows コンポーネント> Windows PowerShell に移動します。
  • スクリプトの実行をオンにする」オプションをダブルクリックします。
  • Clicking the Turn on Script Execution option

    有効] ボックスをチェックします。そこから、[実行ポリシー]ドロップダウンメニューをクリックし、[ローカルスクリプトとリモート署名付きスクリプトを許可する]を選択します。このオプションは、以前発見した"RemoteSigned"オプションと似ています。

    すべてのスクリプトを制限なく実行したい場合は、"実行ポリシー"のドロップダウンメニューから「すべてのスクリプトを許可」オプションを選択します。

    そこで、「適用」をクリックし、「OK」をクリックして、これらの変更を保存します。

    4.レジストリエディタを使った実行ポリシーの変更

    A lady using her Windows PC while sitting on bed

    他の方法で改善されなかった場合は、レジストリエディターを使用して実行ポリシーを変更してみてください。ただし、レジストリキーを編集する際には注意が必要です。もし間違ったキーを編集してしまうと、PCにダメージを与えてしまうかもしれません。

    では、レジストリエディターで実行ポリシーを変更する方法を説明します:

  • Win Rを押して、「ファイル名を指定して実行」コマンドダイアログボックスを開きます。
  • Regeditと入力し、Enterキーを押してレジストリエディタを開きます。
  • 以下のコマンドをアドレスバーにコピーペーストし、Enterキーを押します:
  • HKEY_LOCAL_MACHINE ⇄SOFTWARE ⇄Microsoft ⇄PowerShell ⇄1 ⒸShellIds ⒸMicrosoft.PowerShell

    右側にあるExecutionPolicyの値を探します。

    Selecting the ExecutionPolicy value

    値が不足している場合は、以下の手順で作成してください:

  • 右側の空白部分で右クリックします。
  • 新規> DWORD(32ビット)値」を選択します。
  • 値を ExecutionPolicy と名付け、Enter を押します。
  • ExecutionPolicyの値をダブルクリックします。次に、"値のデータ"セクションに RemoteSigned と入力します。これにより、PowerShellはローカルスクリプトと署名付きスクリプトを実行できるようになります。

    または、"Value data"セクションにByPassと入力します。これにより、PowerShellは制限なく任意のスクリプトを実行できるようになります。

    f}値データ"の部分にお好みの値を入力したら、OKを押して変更を保存してください。最後にレジストリエディタを閉じてから、デバイスを再起動します。

    PowerShell スクリプトを制限なく実行する

    Windows PowerShellで突然特定のコマンドを実行できなくなると、かなりイライラすることがあります。しかし、もしあなたが

    さて、PowerShellはしばしば他の問題を引き起こすのでしょうか?さて、あなたを助けることができる解決策がもっとあります。

    Scroll to Top