「このシステムではスクリプトの実行が無効になっています」エラーの解決方法【PowerShell】
PowerShellでスクリプトや特定のコマンドを実行しようとした際に、「このシステムではスクリプトの実行が無効になっています(Execution of scripts is disabled on this system)」というエラーメッセージが表示されることがあります。これは、Windowsのセキュリティ対策として、スクリプトの実行が初期状態で無効化されているために起こる現象です。業務やトラブルシューティングでスクリプトを利用したい場合は、実行ポリシーを変更して許可する必要があります。
このエラーにはいくつかの原因が考えられます。本記事では、原因の解説とともに、順番に試していける具体的な解決策を4つご紹介します。ぜひ参考にしてください。
「このシステムではスクリプトの実行が無効になっています」エラーの主な原因
この問題の原因はそれほど多くなく、多くの場合は以下のいずれかに分類できます。ご自身の環境がどれに該当するかを確認してみてください。
- 既定でスクリプトの実行が無効になっている: Windowsでは、セキュリティ保護のため、スクリプトの実行ポリシーが初期状態で制限されています。PowerShellでコマンドを実行するか、レジストリを編集することで手動で有効化する必要があります。
- より上位のスコープで実行がブロックされている: 個々の設定を変更しても反映されない場合、ローカルグループポリシーエディター(gpedit.msc)からポリシーを変更する必要があるかもしれません。Windows 10の設定アプリからも同様の変更が可能です。
- 管理者権限でPowerShellを実行していない: 実行ポリシーの変更コマンドは管理者権限が必要なため、通常の権限で実行すると失敗することがあります。
解決策1:PowerShellを管理者として実行しコマンドを実行する
まず試すべき最も簡単な方法です。PowerShellには、この問題に直接対応するコマンドが用意されており、数分で解決できる可能性があります。PowerShellウィンドウ内からスクリプト実行ポリシーを変更する手順を見ていきましょう。
- スタートメニューボタンを右クリックし、コンテキストメニューから「Windows PowerShell(管理者)」を選択してPowerShellを起動します。Windows 7の場合は、スタートメニューで検索してください。
- その場所に「コマンドプロンプト」が表示される場合は、スタートメニューまたは検索バーで「PowerShell」と入力して検索します。このとき、最初の検索結果を右クリックし、「管理者として実行」を選択してください。
- PowerShellコンソールに以下のコマンドを入力し、Enterキーを押します。
Set-ExecutionPolicy RemoteSigned
- 処理が正常に完了したことを示すメッセージが表示されるか確認します。この方法はWindows 10を含むすべてのWindows OSで利用可能です。
解決策2:グループポリシーを編集する
上記の方法で解決しない場合、特にWindows 10などの新しいバージョンでは、より上位のスコープでポリシーが設定されている可能性があります。解決策1のコマンド実行後に表示される典型的なエラーメッセージは以下の通りです。
Set-ExecutionPolicy : Windows PowerShell で実行ポリシーは正常に更新されましたが、 より限定的なスコープで定義されたポリシーによって、この設定はオーバーライドされました。 オーバーライドのため、シェルは現在の有効な実行ポリシーである ... を保持します。
この場合は、グループポリシーエディターを開いて設定を変更しましょう。
- 「Windowsキー + R」を同時に押して「ファイル名を指定して実行」ダイアログを開きます。「gpedit.msc」と入力し、「OK」ボタンをクリックしてローカルグループポリシーエディターを起動します。Windows 10では、スタートメニューで「グループポリシー エディター」と検索しても開けます。
- 左側のナビゲーションペインで「コンピューターの構成」配下にある「管理用テンプレート」をダブルクリックし、「Windows コンポーネント」→「Windows PowerShell」へ移動します。
- 「Windows PowerShell」フォルダーをダブルクリックして選択し、右側の項目を確認します。
- 「スクリプトの実行をオンにする」ポリシーをダブルクリックし、「有効」のラジオボタンを選択します。「実行ポリシー」のドロップダウンメニューから「すべてのスクリプトを許可する」を選択し、変更を適用してから画面を閉じます。なお、変更は再起動するまで反映されません。
- 最後にパソコンを再起動して変更を保存し、エラーがまだ発生するかどうかを確認してください。
解決策3:Windows 10の設定アプリから変更する
Windows 10ユーザーは、設定アプリの「開発者向け」セクションからもスクリプトの設定を変更できます。上記の手順で問題が解決しなかった場合に試す価値のある方法です。なお、この方法はWindows 10でのみ利用可能です。
- 「Windowsキー + I」を押してWindows 10の設定を開きます。あるいは、タスクバーの検索バーで「設定」と検索するか、スタートメニューのすぐ上にある歯車アイコンをクリックしても開けます。
- 設定アプリ内の「更新とセキュリティ」を探してクリックします。
- 「開発者向け」タブに移動し、「PowerShell」セクションまでスクロールします。
- 「変更」というリンク、または「ローカルのPowerShellスクリプトの署名なし実行を許可するように実行ポリシーを変更する。リモートスクリプトには署名を要求する」という説明の横にあるチェックボックスをオンにして有効化し、下にある「適用」ボタンをクリックします。
- パソコンをすぐに再起動し、PowerShellでスクリプトを実行して、エラーがまだ表示されるかどうかを確認してください。
解決策4:レジストリを編集して解決する
ここまでの方法で問題が解決しない場合、最後の手段としてレジストリを直接編集し、最上位のスコープで設定を変更します。手順自体はシンプルですが、レジストリ編集は誤操作するとシステムに影響を与える可能性があるため、慎重に作業してください。事前にレジストリのバックアップを取っておくことをおすすめします。
- 検索バー、スタートメニュー、または「Windowsキー + R」で開ける「ファイル名を指定して実行」ダイアログに「regedit」と入力し、レジストリエディターを開きます。左側のペインを使って、以下のキーへ移動します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
- 該当のキーをクリックし、ウィンドウ右側に「ExecutionPolicy」という文字列値が存在するか確認します。存在する場合は右クリックし、コンテキストメニューから「修正」を選択します。
- 編集画面の「値のデータ」欄の値を「Unrestricted」または「RemoteSigned」に変更し、変更を適用します。作業中にセキュリティに関する確認ダイアログが表示された場合は承認してください。
- スタートメニュー→電源ボタン→「再起動」の順に選択してパソコンを手動で再起動し、問題が解消されたかどうかを確認します。
-
Windows 10のファイルシステムエラー2147219196を解決する15の方法
「一枚の写真は千の言葉に値する」という言葉があるように、写真にはそれぞれ特別な思い出や意味が込められています。しかし、その大切な写真を開こうとした瞬間、ファイルシステムエラー(-2147219196)というポップアップが表示されたら、焦りや不安を感じるのは当然です。「写真が消えてしまうのでは?」と心配になる方も多いでしょう。 実は最近、多くのWindowsユーザーからこのファイルシステムエラーに関する報告が相次いでいます。特にWindowsフォト(写真)アプリでJPG・JPEG・PNGなどの画像ファイルを開こうとした際に発生しやすいエラーです。このエラーを放置すると、他のファイル形式やアプリへ
-
Windows 10で「PCを診断しています」画面から進まない問題を解決する8つの方法
最新のWindows機能更新プログラムをインストールした後、PCが自動修復のループから抜け出せなくなることがあります。「PCを診断しています」という画面で固まってしまい、先へ進めない状態に悩んでいる方も多いのではないでしょうか。この記事では、Windows 10でPC診断画面から進まなくなる問題を解決するための、さまざまなトラブルシューティング手法をご紹介します。 Windows 10で「PCを診断しています」から進まない問題の解決方法 本記事では、複数のユーザー報告をもとにこの問題を調査し、影響を受けたユーザーによって提案されたさまざまな修復方法を検証しました。その結果、いくつかの要因によ