PowerShellが起動しない原因と対処法【Windows 10 / 11対応】

PowerShellを開こうとしても何も起きない、ウィンドウが一瞬表示されてすぐ閉じる、エラーメッセージが出て止まってしまう——そんな症状にはいくつかのパターンがあり、それぞれに対処法が違います。
この記事では、原因の特定から順番に試せる解決策を、具体的な手順つきで解説します。


スポンサーリンク

PowerShellが起動しない主な原因

まず、よく起こる原因を整理しておきます。
自分の症状に近いものを確認してから、対応する手順へ進んでください。

症状考えられる原因
何も起きない・ウィンドウが一瞬で消える権限不足、システムファイルの破損、プロファイルスクリプトのエラー
スクリプトを実行しようとするとエラーになる実行ポリシー(ExecutionPolicy)の制限
「このアプリはブロックされています」と表示されるグループポリシーによる制限
セキュリティソフトに弾かれるウイルス対策ソフトの誤検知

手順①:まず管理者権限で起動を試す

最初に試すべきは管理者として実行です。
権限が不足しているだけで起動できないケースは多く、これだけで解決することがあります。

  1. スタートメニューを開き、検索欄に「powershell」と入力する
  2. 表示された「Windows PowerShell」を右クリックする
  3. 管理者として実行」を選択する

UAC(ユーザーアカウント制御)の確認ダイアログが表示された場合は「はい」をクリックします。

Windows 11の補足: Windows 11では「Windows ターミナル」がPowerShellのデフォルトの入り口になっています。ターミナルのタイトルバーの「∨」をクリックして「Windows PowerShell」を選ぶことでも起動できます。


手順②:実行ポリシーを確認・変更する(スクリプトが動かない場合)

PowerShell自体は開けるが、スクリプト(.ps1ファイル)を実行しようとするとエラーになる場合は、実行ポリシー(ExecutionPolicy)が原因である可能性が高いです。

代表的なエラーメッセージ:

このシステムではスクリプトの実行が無効になっているため、ファイルを読み込むことができません。

現在の実行ポリシーを確認する

PowerShellを管理者として開き、以下を実行します。

Get-ExecutionPolicy -List

LocalMachine または CurrentUser のスコープが Restricted になっていると、スクリプトが実行できません。

実行ポリシーを変更する

現在のユーザーに対してスクリプトの実行を許可するには、以下のコマンドを実行します。

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

確認メッセージが表示されたら「Y」を入力してEnterを押します。

各ポリシーの意味:

ポリシー名内容
Restrictedスクリプト実行をすべて禁止(デフォルト)
RemoteSignedローカルのスクリプトは実行可。ダウンロードしたスクリプトは署名が必要
Unrestrictedすべてのスクリプトを実行可(セキュリティリスクあり)

家庭用・個人用途では RemoteSigned が推奨設定です。
Unrestricted は意図しないスクリプトも実行されるリスクがあるため、通常は使用を避けてください。

Windows 10 / 11 Homeについて: Homeエディションではグループポリシーエディター(gpedit.msc)は標準搭載されていません。ポリシーが原因の場合はレジストリ操作が必要になりますが、誤操作のリスクがあるため上記のSet-ExecutionPolicyコマンドを先に試すことを推奨します。


手順③:SFCとDISMでシステムファイルを修復する

PowerShellがまったく起動しない、または起動しても動作がおかしい場合は、システムファイルの破損が原因のことがあります。
Windowsには破損したシステムファイルを修復するツールが2つ内蔵されています。

SFC(システムファイルチェッカー)を実行する

コマンドプロンプトまたはWindows ターミナルを管理者として開き、以下を実行します。

sfc /scannow

スキャンには数分かかります。
完了後に「問題が見つかりました」と表示された場合は、自動的に修復が試みられます。
終了後はPCを再起動してからPowerShellを試してください。

DISMでWindowsイメージを修復する(SFCで解決しない場合)

SFCで解決しない場合は、DISMコマンドで深い層の修復を行います。
以下の3つのコマンドを順番に実行してください。

DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth

RestoreHealth はWindowsUpdateから修復ファイルをダウンロードするため、インターネット接続が必要です。
完了後はPCを再起動してください。


手順④:グループポリシーの設定を確認する(Pro / Enterprise環境)

職場のPCやWindows Pro / Enterpriseを使っている場合、グループポリシーによってPowerShellの起動が制限されていることがあります。

  1. Win + R を押し「gpedit.msc」と入力してEnterを押す
  2. 左側のツリーで「ユーザーの構成」→「管理用テンプレート」→「システム」へ進む
  3. 右側の一覧から「指定した Windows アプリケーションのみ実行する」または「指定した Windows アプリケーションを実行しない」をダブルクリックする
  4. 設定が「有効」になっていて、一覧にPowerShellが含まれている場合は「未構成」に変更する
  5. 「適用」→「OK」をクリックしてPCを再起動する

注意: グループポリシーは組織の管理者が設定している場合があります。職場のPCでポリシー変更が必要な場合は、IT管理者に問い合わせてください。


手順⑤:セキュリティソフトの除外設定を確認する

ウイルス対策ソフトがPowerShellをブロックしている場合、起動しても即座に終了することがあります。

  1. 使用中のセキュリティソフトを一時的に無効にする
  2. PowerShellを起動できるか試す
  3. 起動できた場合は、セキュリティソフトの「除外リスト」にPowerShellの実行ファイルを追加する

PowerShellの実行ファイルのパス(参考):

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

手順⑥:プロファイルスクリプトのエラーを確認する(起動直後に閉じる場合)

PowerShellは起動時にプロファイルスクリプト$PROFILE)を自動実行します。
このスクリプトにエラーがあると、起動直後にウィンドウが閉じてしまうことがあります。

プロファイルを無効化して起動するには、以下のコマンドをコマンドプロンプトから実行します。

powershell -NoProfile

これで正常に起動できた場合、プロファイルスクリプトに問題があります。
プロファイルの場所を確認して内容を点検してください。

プロファイルの場所(参考・Windows PowerShell 5.1の場合):

%USERPROFILE%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

Microsoft公式による起動時のキャッシュクリア方法(稀なケースですが有効):

  • ユーザーキャッシュ:%USERPROFILE%\AppData\Local\Microsoft\Windows\Caches
  • システムキャッシュ:%windir%\System32\Config\SystemProfile\AppData\Local\Microsoft\Windows\Caches

上記フォルダ内のファイルを削除してからPowerShellを再起動してみてください。


対処法のまとめ表

試す順番手順主な対象症状
1管理者として実行何も起きない・即閉じる
2実行ポリシーを変更(RemoteSigned)スクリプトがエラーになる
3SFC → DISM でシステム修復起動しない・動作がおかしい
4グループポリシーを確認「ブロックされています」と表示
5セキュリティソフトの除外設定起動後すぐ終了する
6-NoProfile で起動して確認起動直後にウィンドウが閉じる

まとめ

PowerShellが起動しないときは、まず管理者として実行を試すのが最初のステップです。
スクリプトが動かない場合は実行ポリシーの変更、それでも解決しない場合はSFC / DISMによるシステム修復と、軽い対処から順番に試していくことが大切です。

グループポリシーによる制限は、職場のPCでとくに起こりやすいため、IT管理者への確認も選択肢に入れておきましょう。


参考情報源:

コメント

タイトルとURLをコピーしました