PowerShellを開こうとしても何も起きない、ウィンドウが一瞬表示されてすぐ閉じる、エラーメッセージが出て止まってしまう——そんな症状にはいくつかのパターンがあり、それぞれに対処法が違います。
この記事では、原因の特定から順番に試せる解決策を、具体的な手順つきで解説します。
PowerShellが起動しない主な原因
まず、よく起こる原因を整理しておきます。
自分の症状に近いものを確認してから、対応する手順へ進んでください。
| 症状 | 考えられる原因 |
|---|---|
| 何も起きない・ウィンドウが一瞬で消える | 権限不足、システムファイルの破損、プロファイルスクリプトのエラー |
| スクリプトを実行しようとするとエラーになる | 実行ポリシー(ExecutionPolicy)の制限 |
| 「このアプリはブロックされています」と表示される | グループポリシーによる制限 |
| セキュリティソフトに弾かれる | ウイルス対策ソフトの誤検知 |
手順①:まず管理者権限で起動を試す
最初に試すべきは管理者として実行です。
権限が不足しているだけで起動できないケースは多く、これだけで解決することがあります。
- スタートメニューを開き、検索欄に「powershell」と入力する
- 表示された「Windows PowerShell」を右クリックする
- 「管理者として実行」を選択する
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の起動が制限されていることがあります。
- Win + R を押し「gpedit.msc」と入力してEnterを押す
- 左側のツリーで「ユーザーの構成」→「管理用テンプレート」→「システム」へ進む
- 右側の一覧から「指定した Windows アプリケーションのみ実行する」または「指定した Windows アプリケーションを実行しない」をダブルクリックする
- 設定が「有効」になっていて、一覧にPowerShellが含まれている場合は「未構成」に変更する
- 「適用」→「OK」をクリックしてPCを再起動する
注意: グループポリシーは組織の管理者が設定している場合があります。職場のPCでポリシー変更が必要な場合は、IT管理者に問い合わせてください。
手順⑤:セキュリティソフトの除外設定を確認する
ウイルス対策ソフトがPowerShellをブロックしている場合、起動しても即座に終了することがあります。
- 使用中のセキュリティソフトを一時的に無効にする
- PowerShellを起動できるか試す
- 起動できた場合は、セキュリティソフトの「除外リスト」に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) | スクリプトがエラーになる |
| 3 | SFC → DISM でシステム修復 | 起動しない・動作がおかしい |
| 4 | グループポリシーを確認 | 「ブロックされています」と表示 |
| 5 | セキュリティソフトの除外設定 | 起動後すぐ終了する |
| 6 | -NoProfile で起動して確認 | 起動直後にウィンドウが閉じる |
まとめ
PowerShellが起動しないときは、まず管理者として実行を試すのが最初のステップです。
スクリプトが動かない場合は実行ポリシーの変更、それでも解決しない場合はSFC / DISMによるシステム修復と、軽い対処から順番に試していくことが大切です。
グループポリシーによる制限は、職場のPCでとくに起こりやすいため、IT管理者への確認も選択肢に入れておきましょう。
参考情報源:


コメント