【Windows】「PowerShellウィンドウをここで開く」を削除する方法
この記事では、Windowsで、フォルダーやエクスプローラーの背景を右クリックした時に表示される「PowerShellウィンドウをここで開く」項目を非表示にする方法について書きます。
アクセス許可を与えた上で、コマンドプロンプト経由のレジストリ操作で無効化できます。
レジストリを操作することで、Windows11の旧仕様右クリックメニューに表示される「PowerShellウィンドウをここで開く」を非表示にできます。
以下のようにコマンドプロンプトで、「LegacyDisable
」文字列値を、「Powershell
」キー内に配置することで無効化できます。
reg add "HKEY_CLASSES_ROOT\Directory\shell\Powershell" /v LegacyDisable /f
reg add "HKEY_CLASSES_ROOT\Directory\background\shell\Powershell" /v LegacyDisable /f
reg add "HKEY_CLASSES_ROOT\Drive\shell\Powershell" /v LegacyDisable /f
ただし、「Powershell
」キーは、僕らの「Administrators
」所有者で編集できないようになっています。そのため、上記コマンドを実行する前に、レジストリエディター上でアクセス許可を与える必要があります。
この作業が、他の右クリック項目を消す方法と比べて手間です。結構めんどくさいので、まぁ我慢できる…という方は、そのままがいいかもしれません。全作業で、大体20分程度を想定するといいかもしれません。PC作業に慣れている場合は、10分でできるかもです。
「PowerShellウィンドウをここで開く」機能は、エクスプローラーで、フォルダーやエクスプローラーの空いているところを右クリックした時に表示されます。
クラシックコンテキストメニュー(Windows11の旧仕様の右クリック)は、「Explorer Patcher for Windows 11」で元に戻している場合や、右クリック→「その他のオプションを表示」をクリックした時に表示されます。Shiftを押しながらファイル・フォルダーを右クリックしても表示されます。
以下の記事にて、他の右クリック項目を削除する方法をまとめて書いています。気になった方は、参考にしてみてください。
「ターミナルで開く」を削除する記事も書いています。
「PowerShellウィンドウをここで開く」にアクセス許可を与える
厄介なことに、「PowerShellウィンドウをここで開く」の場合、「コマンドプロンプトから無効化するコードを実行して、はい終わり」というわけにはいきません。
ユーザー(Administrators
)の権限が「読み取り」しか与えられていないため、キーを書き換えることができないようになっています。少々手間ですが、最初にレジストリエディターから、「Administrators
」にアクセス許可を与える必要があります。
これから紹介する方法は、あくまで僕流です。色々な方法があって、多分もっと効率いい方法もあると思います。本記事がめっちゃ不効率な方法を紹介している場合、ごめんなさい💦
レジストリエディターを開く
スタートメニューの検索ボックスに「れじすとり」と入力して、レジストリエディターを「管理者として実行」します。
「Powershell」のパスに移動
レジストリエディターを開けたら、上部のアドレスバーに以下のパスを貼り付けて移動します。
HKEY_CLASSES_ROOT\Directory\shell\Powershell
所有者を「TrustedInstaller」から「Administrators」に変更する
開けたら、左側サイドバーのツリー内にある「Powershell
」キーを右クリック→「アクセス許可」をクリックします。
下らへんにある「詳細設定」をクリックします。
所有者が「TrustedInstaller
」になっていると思います。この右にある「変更」をクリックします。
「選択するオブジェクト名を入力してください」のテキストボックスに「Administrators
」と入力します。貼っておくので、そのままコピペしたほうがいいと思います。
Administrators
入力できたら、「OK」をクリックします。
所有者が「Administrators(〇〇)
」になっていることを確認します。「〇〇
」には、PCユーザー名が入ります。
確認できたら、右下の「適用」→「OK」をクリックします。
これで、所有者を「Administrators
」に変えられました。最後に「Administrators
」の所有者として、Powershellを編集する権限を与えます。
「Administrators」に権限を与える
上記の手順で「適用」→「OK」をクリックした後、ダイアログが閉じて、最初の「Powershellのアクセス許可」ダイアログに戻ると思います。ここで「Administrators
」を選択します。「アクセス許可」の「フルコントロール」にチェックを入れます。
適用→OKをクリックします。
レジストリエディターの画面に戻ります。これでPowershellに権限を与えることができました。
他部分の「Powershell」にも同様に権限を与える
「PowerShellウィンドウをここで開く」項目は、フォルダーの右クリックだけでなく、ドライブとエクスプローラーの空いているところを右クリックした時にも表示されます。
この二つの場所も非表示にしたい場合、同様にアクセス許可を与える必要があります。レジストリエディターで、以下の二つの場所にアクセスします。上記で紹介した手順と同じように、両方にアクセス許可を与えます。
HKEY_CLASSES_ROOT\Directory\background\shell\Powershell
HKEY_CLASSES_ROOT\Drive\shell\Powershell
一気に設定することはできないので、一つずつ実行します。まずは、空いているところを右クリックした時の「PowerShellウィンドウをここで開く」項目である「HKEY_CLASSES_ROOT\Directory\background\shell\Powershell
」です。
方法は上記と一緒なので、詳しくは解説しません。
「Powershell」キーを右クリック→アクセス許可→詳細設定→変更→「Administrators
」と入力→OK→適用とOK→フルコントロールにチェック→適用とOKです。
所有者を「TrustedInstaller
」から「Administrators
」に変更せず、「フルコントロール」にチェックしても、「Powershellのアクセス許可の変更を保存できません」と表示されるので注意です。
設定できたら、最後に「HKEY_CLASSES_ROOT\Drive\shell\Powershell
」も同じ手順でアクセス許可を与えます。
右クリックから、「PowerShellウィンドウをここで開く」を削除する手順
3つの「Powershell」キーにアクセス許可を与えられたら、後は楽だと思います。
引き続きレジストリエディターを使う方法もあるのですが、今回は簡単なコマンドプロンプト経由で削除してみます。コードを実行するだけで、サクっと削除できます。
スタートメニューを開いて、検索ボックスに「cmd」と入力します。コマンドプロンプトが出てくるので、「管理者として実行」をクリックします。管理者でないとうまくいきません。
真っ黒い画面が表示されたら、以下の3つのコードをコピペして、実行(Enter)します。フォルダー、エクスプローラーの空いているところ、ドライブの3つ全部を消すコードです。
reg add "HKEY_CLASSES_ROOT\Directory\shell\Powershell" /v LegacyDisable /f
reg add "HKEY_CLASSES_ROOT\Directory\background\shell\Powershell" /v LegacyDisable /f
reg add "HKEY_CLASSES_ROOT\Drive\shell\Powershell" /v LegacyDisable /f
貼り付けると、その瞬間に最初の二行が実行されます。「この操作を正しく終了しました。」というメッセージが、二つ表示されたらOKです。
最後の行だけは、Enterを手動で押して実行する必要があります。3つ目の「この操作を正しく終了しました。」と表示されればOKです。
正しくアクセス許可を与えていない場合は、どこかでエラーが出ると思います。
僕は素人なので、詳しくは分かりませんが、キーを無効化する方法として「LegacyDisable
」と「ProgrammaticAccessOnly
」の2つがあります。どちらの文字列値を作成しても多分無効化できます。
「ProgrammaticAccessOnly
」にする場合は、以下の感じです。
reg add "HKEY_CLASSES_ROOT\Directory\shell\Powershell" /v ProgrammaticAccessOnly /f
コマンド最後の「/f
」は、確認画面を表示しないというパラメーターです。つけなくてもOKです。つけなかったら、「実行しますか?(Yes/No)」みたいな確認が表示されます。「/d
」は、そのあとに書いている値のデータにするよ~という意味です。
この時点で、右クリックメニューから削除されていればOKです。削除されていない場合は、エクスプローラーを再起動します。コマンドプロンプトにて、以下のコードを実行します。この時、Enterを2回押します。
taskkill /f /im explorer.exe
start explorer.exe
エクスプローラーを開いて、フォルダー、ドライブ、あるいはエクスプローラーの空いているところを右クリックします。それぞれ「PowerShellウィンドウをここで開く」が消えていればOKです。
「PowerShellウィンドウをここで開く」を元に戻す方法
コマンドプロンプトでコードを実行する
「やっぱり元に戻したい!」という場合は、書き込んだ「LegacyDisable
」文字列値を削除します。コマンドプロンプトを管理者として実行して、以下のコードをEnterで実行します。
reg delete "HKEY_CLASSES_ROOT\Directory\shell\Powershell" /v LegacyDisable /f
reg delete "HKEY_CLASSES_ROOT\Directory\background\shell\Powershell" /v LegacyDisable /f
reg delete "HKEY_CLASSES_ROOT\Drive\shell\Powershell" /v LegacyDisable /f
最初の二つが実行実行されます。最後だけEnterを押して、手動実行します。3つの「この操作を正しく終了しました。」が表示されればOKです。
この時点で元に戻ると思いますが、元に戻らない場合は、エクスプローラーを再起動してください。元通り「PowerShellウィンドウをここで開く」が復活します。
心配な方は、合わせてアクセス許可を解除する
以下の3つの「Powershell」キーにアクセス許可を与えたので、3回、アクセス許可を解除する作業をします。順番はどれからでもOKです。
HKEY_CLASSES_ROOT\Directory\shell\Powershell
HKEY_CLASSES_ROOT\Directory\background\shell\Powershell
HKEY_CLASSES_ROOT\Drive\shell\Powershell
それぞれレジストリエディターで開きます。「Powershell」キーを右クリック→「アクセス許可」をクリックします。
「Powershellのアクセス許可」ダイアログが表示されたら、「Administrators(〇〇)
」を選択して、「フルコントロール」のチェックを外します。「適用」をクリックします。
続いて、そのまま「詳細設定」ボタンを押します。うっかり適用→OKをクリックした場合は、再度右クリックからアクセス許可ダイアログを開きます。
所有者の「変更」をクリックします。現在は変更しているので、「Administrators
」になっているはずです。ここを「TrustedInstaller
」に戻します。
「選択するオブジェクト名を入力してください」のテキストボックスに、「NT Service\TrustedInstaller
」と入力します。貼っておくので、そのままコピペしたほうがいいと思います。ただの「TrustedInstaller
」ではなく、「NT Service\TrustedInstaller
」にするのがポイントです。
NT Service\TrustedInstaller
入力できたら、「OK」をクリックします。
参考:ファイルの所有者を TrustedInstaller に戻す手順 : Windows Tips | iPentec
所有者が元の「TrustedInstaller
」に戻ります。適用→OKをクリックします。
アクセス許可ダイアログは、「OK」で閉じます。この作業をPowershellの場所ごとに、3回繰り返します。3つ全ての場所が元通りになればOKです。
感想
以上、Windows11でフォルダーやエクスプローラーの背景を右クリック(旧仕様)した時に表示される「PowerShellウィンドウをここで開く」項目を非表示にする方法でした。
アクセス許可の流れが少々手間でしたが、方法を知っていれば、他の場所でも応用が効きそうです。
外部ソフトの影響で、追加された右クリックメニューについては、「ShellExView」や「ShellMenuViewv」などを利用することで、削除できます。