Microsoft Windows PowerShell が明確な理由もなくポップアップし続けると、コンピューターが使いにくくなり、何かがおかしいのではないかと心配するようになります。
PowerShell が常に開く理由はさまざまです。良性のものもあれば、より深刻なものもあります。これらのトラブルシューティングの手順に従ってください。お客様のケースがどれであるかを判断します。
目次
1.ウイルス対策またはマルウェア スキャンを実行する
悪意のあるプログラムまたはスクリプトによって、PowerShell が自動的に実行される可能性があります。これは、ウイルス、マルウェア、または PowerShell を使用してコンピューターで悪意のあるアクションを実行する別の種類のセキュリティ脅威である可能性があります。
悪意のあるプログラムまたはスクリプトによって PowerShell が自動的に実行される場合は、次の手順に従って問題に対処する必要があります:
コンピューターをインターネットから切断して、悪意のあるプログラムまたはスクリプトがサーバーと通信したり、追加のマルウェアをダウンロードしたりしないようにします。セキュリティ ソフトウェアを使用して、コンピュータのマルウェアをスキャンし、検出された脅威を削除します。これには、ウイルス対策ソフトウェアでシステム全体のスキャンを実行するか、専用のマルウェア削除ツールを使用することが含まれる場合があります。悪意のあるプログラムまたはスクリプトを削除した後、コンピューターを再起動し、別のスキャンを実行して、脅威が完全に削除されたことを確認する必要があります。
コンピュータに問題がなく、マルウェアが除去されたら、侵害された可能性のあるパスワードやセキュリティ資格情報をすべて変更し、セキュリティ ソフトウェアを最新バージョンに更新する必要があります。
2. PowerShell が起動時に自動実行に設定されているかどうかを確認します
PowerShell は特に何もせず、起動時に実行するように設定されているだけかもしれません。コンピューターの起動時に PowerShell が実行されるように設定されているかどうかを確認するには、次の手順に従います。
キーボードの Ctrl + Shift + Esc キーを押して、コンピューターのタスク マネージャーを開きます。 [タスク マネージャー] ウィンドウで、[スタートアップ] タブをクリックします。 [スタートアップ] タブで、スタートアップ項目の一覧から”Windows PowerShell”のエントリを探します。
スタートアップ リストに Windows PowerShell のエントリが表示されている場合は、コンピューターの起動時に PowerShell が自動的に実行されるように設定されていることを意味します。 Windows PowerShell エントリの状態列には、プログラムの起動時の実行が有効か無効かが示されます。
スタートアップ リストに Windows PowerShell のエントリが表示されない場合は、PowerShell が現在、スタートアップ時に実行するように設定されていないことを意味します。ただし、これは必ずしも PowerShell が自動的に実行されていないことを意味するわけではありません。コンピューターの別のプログラム、スクリプト、または設定の結果として実行されている可能性があります。
問題をさらに調査してトラブルシューティングするには、スケジュールされたタスク、起動スクリプト、システム サービスなど、コンピュータの他の設定と構成を確認する必要がある場合があります。また、Windows 10 または Windows 11 のスタートアップ フォルダーを確認して、スタートアップ プログラムを無効にする方法を学習することもできます。
3.タスクまたはスクリプトがバックグラウンドで実行されている
バックグラウンドで実行されているタスクまたはスクリプトが原因で PowerShell がコンピューターに表示されるかどうかを確認するには、次の手順に従います。
タスクを開くタスクバーの [スタート] ボタンをクリックし、「タスク スケジューラ」を検索して、スケジューラ。または、[ファイル名を指定して実行] ダイアログ (Windows キー + R) に「taskschd.msc」と入力し、Enter キーを押します。 [タスク スケジューラ ライブラリ] の下の [タスク スケジューラ] ウィンドウで、定期的な間隔または起動時に実行するようにスケジュールされているタスクまたはスクリプトを探します。これは、トリガー列に示されます。問題の原因と思われるタスクまたはスクリプトが見つかった場合は、そのタスクまたはスクリプトを右クリックして、メニューから [無効にする] を選択します。
4. PowerShell ショートカットまたはホットキーが PowerShell を開いている
誤ってトリガーしたホットキーまたはショートカットにリンクされているため、PowerShell がポップアップしている可能性があります。 WinHotKey などのプログラムがインストールされている場合、そのようなキーの組み合わせが構成されている可能性があります。
任意のショートカットを右クリックし、そのプロパティをチェックして、スタートアップ パラメーターの一部として PowerShell が言及されているかどうかを確認することもできます。これは、おそらくスクリプトを起動するために、ショートカットが PowerShell を開く可能性があり、その後閉じないことを示しています。
5.アプリの 1 つが PowerShell を使用しています
サードパーティ製アプリは、その機能の一部に PowerShell を使用している場合があります。
アプリのドキュメントを確認する: 多くのアプリには、アプリの特徴や機能を説明するドキュメントやヘルプ ファイルが含まれています。PowerShell について言及されているかどうかを確認してください。アプリの設定または構成オプションで PowerShell への参照を探します。多くのアプリには、アプリの動作をカスタマイズできるオプションが含まれています。これらの設定をチェックして、PowerShell への参照が含まれているかどうかを確認できます。アプリを使用して、実行されている PowerShell コマンドを探します。アプリのドキュメントまたは設定で PowerShell への参照が見つからない場合は、アプリを実行し、それを使用して目的のタスクを実行してみてください。注意してください。画面に表示されるメッセージまたはプロンプトで、PowerShell を参照しているかどうかを確認します。
PowerShell を使用するすべてのアプリで、この事実が明らかになるわけではありません。一部のアプリは、PowerShell をユーザーに公開せずに内部的に使用する場合があります。このような場合、より詳細な情報がないと、またはより高度なツールや手法を使用することによって、アプリが PowerShell を使用しているかどうかを判断できない場合があります。時間があれば、アプリをアンインストールしてから再インストールして、どのアプリが原因であるかを突き止めることができます。
場合によっては、ポップアップ時に PowerShell で何が実行されているかを確認できます。その出力の詳細は、どのアプリケーションが問題に関連しているかの手がかりになることもあります。
6.ハードウェアとソフトウェアの競合
ハードウェアとソフトウェアの競合により、PowerShell がさまざまな方法でポップアップする可能性があります。これらの競合を解決するために考えられる解決策には次のようなものがあります:
ドライバーを更新する: 古いドライバーや正しくないドライバーは、PowerShell やその他のソフトウェアとの競合を引き起こす可能性があります。ドライバーを最新バージョンに更新して、問題が解決するかどうかを確認してください。ソフトウェアまたは Windows の更新プログラムを確認する: ソフトウェアの更新プログラムは、多くの場合、バグや互換性の問題を修正することで競合を解決できます。使用しているオペレーティング システムやその他のソフトウェアの更新プログラムをチェックして、問題の解決に役立つ利用可能な更新プログラムがあるかどうかを確認できます。コンピューターを再起動する: コンピューターを再起動すると、システムがリセットされ、問題の原因となっている可能性のある一時ファイルやデータが消去されるため、競合を解決できる場合があります。システム ファイル チェッカー ツールを使用する: システム ファイル チェッカー (SFC) ツールは、システムをスキャンして破損したファイルや不足しているファイルを探し、修復できる組み込みのユーティリティです。コマンド プロンプト (CMD) で sfc/scannow コマンドを使用して、PowerShell との競合を引き起こしている可能性のある問題を修正してみてください。システム管理者として実行する必要があります。 DISM ツールを使用する: 展開イメージのサービスと管理 (DISM) ツールは、システムの問題を解決するのに役立つもう 1 つの組み込みユーティリティです。 DISM ツールを使用してシステムの問題をスキャンし、修復を試みることができます。
7. PowerShell スクリプトにループがあります!
PowerShell スクリプトにループがあり、PowerShell が常にポップアップする原因となっている場合は、次の手順を試して修正できます。問題:
テキスト エディタでスクリプトを開く: 最初のステップは、スクリプトをテキスト エディタで開き、コードを確認して変更できるようにすることです。 Notepad、TextEdit、または Notepad++ などのより高度なエディターなど、使い慣れたテキスト エディターを使用できます。スクリプト内のループを特定する: テキスト エディターでスクリプトを開いたら、問題の原因となっているループを特定する必要があります。ループは、特定の条件が満たされるまで繰り返し実行されるコードのブロックです。スクリプトでは、ループは「for」、「while」、「do」などのキーワードでマークされている場合があります。ループを変更して問題を解決する: スクリプト内のループを見つけたら、ループを変更して問題を解決する必要があります。これには、ループの実行を停止するタイミングを決定する条件の変更や、特定の条件下でループから抜け出すためのコードの追加が含まれる場合があります。スクリプトを保存してテストする: スクリプトに必要な変更を加えたら、ファイルを保存し、スクリプトを再度実行して、問題が解決したかどうかを確認します。問題が解決しない場合は、ループが意図したとおりに機能するまで、ループの修正を続ける必要があります。
スクリプトの作成者ではなく、PowerShell スクリプトについて何も知らない場合は、その特定のスクリプトの具体的な修正方法を探すか、スクリプトの作成者に連絡することをお勧めします。
8. Windows PowerShell を無効にする
他のすべてが失敗した場合は、PowerShell.exe を無効にしてみませんか?
[スタート] メニューを開き、検索ボックスに「Windows の機能」と入力します。 [ Windows の機能を有効または無効にする ] を選択します。 [Windows の機能] ウィンドウで、[Windows PowerShell] セクションまで下にスクロールします。 Windows PowerShell の横にあるチェックボックスをオフにして無効にします。 [OK] を選択します。コンピュータを再起動してください。
PowerShell を無効にすると、特定のアプリや機能が正常に動作しなくなる場合があります。 PowerShell が必要ないことが確実な場合にのみ、PowerShell を無効にしてください。ただし、これにより、PowerShell ポップアップの問題が永続的に防止される可能性が最も高くなります。