PowerShell スクリプトが無視されたりエラーを吐いたりしているなら、それはあなただけではありません。Windows 11 のデフォルトのセキュリティ設定によってスクリプトの実行がブロックされることがあり、自動化が困難になっています。幸いなことに、これらの制限を緩和する方法がいくつかあります。PC が混乱状態に陥ることなく、スクリプトを実行できる程度には緩和できます。ここでの目標は、実行ポリシーを安全に調整し、不審なスクリプトが侵入するのを防ぐことです。これらの手順に従うことで、ローカルでもインターネット経由でも、PowerShell スクリプトをスムーズに実行できるはずです。

Windows 11でPowerShellスクリプトが実行されない問題を解決する方法

方法1:管理者としてPowerShellを実行する — 簡単

これは最も簡単な最初のステップです。PowerShell の実行ポリシーを変更するには、多くの場合管理者権限が必要です。スタートボタンを右クリック(またはWin + X)し、「Windows ターミナル(管理者)」または「Windows PowerShell(管理者)」を選択します。管理者権限で実行する必要があります。管理者権限がないと、コマンドが実行できません。その後、スクリプトを実行して簡単なテストを行ってください。管理者として実行するだけで、必要な権限が付与されるため、問題が解決する場合があります。設定によってはこれだけで十分な場合もありますが、そうでない場合は、設定をさらに調整する必要があります。

方法2: 実行ポリシーを変更してスクリプトを許可する

これが根本的な修正です。少し奇妙に聞こえるかもしれませんが、Windowsはデフォルトで制限的なポリシーを採用しており、署名されているか明示的に信頼されていない限り、ほとんどのスクリプトの実行がブロックされます。このポリシーを緩和するには、管理者権限でPowerShellを開き、次のように入力してください。

Set-ExecutionPolicy RemoteSigned

を押しますEnter。プロンプトが表示されたら入力しYてもう一度押しますEnter。このコマンドを使うと、ローカルスクリプトを自由に実行できますが、インターネットからコードを取得する場合は署名がチェックされます。一部のマシンでは、このコマンドが最初は「失敗」しても、再起動後に機能することがあります。理由は分かりませんが、PowerShellコミュニティではミームになっています。すぐに機能しない場合は、再起動してもう一度お試しください。

方法3:レジストリを調整して深層レベルの修正を行う

少し複雑ですが、システムのポリシーがレジストリレベルで厳重にロックされている場合があります。PowerShellの設定を変更しても問題が解決しない場合は、レジストリを詳しく調べる必要があるかもしれません。 を押しWindows + Rregeditと入力して を押しますEnter。レジストリファイルを操作する前に、レジストリをバックアップしてください。Windowsは操作を複雑にする傾向があるためです。

次の場所に移動します:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows

Windowsを右クリックし、「新規」 > 「キー」を選択して、キー名を にしますPowerShell。次に、新しいPowerShellキーの右側のパネルを右クリックし、「新規」 > 「DWORD(32ビット)値」を選択して、キー名を にしますEnableScripts。キーをダブルクリックして、値を に設定します1。これは基本的に、Windows に低いセキュリティレベルでスクリプトを許可するように指示するものです。

レジストリエディターを閉じて、PCを再起動してください。これで大抵は問題ありませんが、レジストリの編集は、何をしているのかよくわからないと少し不安になるので、無理をしないようにしましょう。また、一部のセキュリティツールはスクリプトをブロックする可能性があるため、それらも確認してください。

ボーナスのヒントとよくある落とし穴

Windows は予測不可能な場合があるため、いくつかの追加のヒントを示します。

  • 万が一何か問題が起きた場合に備えて、まずレジストリをバックアップしてください。
  • セキュリティ ソフトウェアが PowerShell をブロックしていないことを確認してください。ウイルス対策ソフトウェアが問題になる場合もあります。
  • コマンドでエラーが発生した場合、特にガイドからコピーする場合は、構文を再度確認してください。Windows はタイプミスを好みます。

覚えておいてください。実行ポリシーを変更すると、問題のあるスクリプトを実行する際にリスクが生じる可能性があります。実行する内容には常に注意が必要です。安全第一、ですよね?

まとめ

PowerShellスクリプトをWindows 11で実行するのは簡単ではありませんが、不可能ではありません。まず、管理者として実行するとうまくいく場合が多く、次にSet-ExecutionPolicyを使って実行ポリシーを緩和します。それでも不十分な場合は、レジストリの調整が影響し、状況が悪化する可能性があります。バックアップを保存し、コマンドを再確認することを忘れないでください。設定が完了したら、スクリプトは問題なく実行されるため、さまざまなタスクを自動化して時間を節約できます。

よくある質問

PowerShell の実行ポリシーとは何ですか?

これは基本的に、Windowsがどのスクリプトの実行を許可するかを決定する方法です。セキュリティゲートのようなものだと考えてください。より厳重にロックされたゲートはスクリプトの実行をブロックします。これは安全性の観点からは問題ありませんが、自動化が必要な場合は面倒です。

実行ポリシーをデフォルトに戻すことはできますか?

まさにそうです。PowerShellSet-ExecutionPolicy Restrictedを管理者権限で実行するだけで、ロックが元に戻ります。操作を元に戻したり、セキュリティを再度強化したい場合に便利です。

実行ポリシーを変更するとセキュリティが損なわれるでしょうか?

注意を怠ると、悪意のあるスクリプトが実行される可能性があります。制限を緩和すると、注意を怠ると悪意のあるスクリプトが実行される可能性があります。常に信頼できるソースからのスクリプトのみを実行してください。例外はありません。