Windowsでコマンドプロンプトを無効にする方法
Windowsユーザーにとって、権限をいじることで実際に違いが出てくることがあります。特に、詮索好きなユーザーや意図しないユーザーがコマンドプロンプトをいじるのを防ぎたい場合などです。共有環境や子供向けの環境では、CMDを無効にするだけで多くの問題が回避できる場合があります。少し奇妙に思えるかもしれませんが、cmd.exeへのアクセスを制限することは、たとえ完全ではないとしても、手軽なセキュリティレイヤーとして機能します。ショートカットで回避できると考える人もいますが、少なくともこれはそれほど複雑ではありません。
今回は、グループポリシー(企業やデバイス管理向け)またはレジストリで直接コマンドプロンプトへのアクセスをブロックする方法を解説します。どちらでも構いません。どちらでも構いません。どちらの方法も有効ですが、1台のマシンで調整するだけなら、レジストリを使った方がシンプルで手軽です。これらの変更を適用すると、「管理者がコマンドプロンプトを無効にしました」といったメッセージが表示されます。これは通常、変更が成功したことを示すメッセージです。
WindowsでCMDへのアクセスをブロックする方法
方法1: グループポリシーを使用してより集中的な制御を行う
これはビジネスやオフィス環境で推奨される方法であり、特にActive Directory経由で複数のマシンを管理している場合に有効です。ポリシーレベルでCMD実行ファイルを無効化することで、一般ユーザーが起動できなくなります。これは、gpedit.mscからアクセスできるグループポリシーエディターで適用されます。
なぜ役立つのか?分かりやすく、管理者ポリシーにも合致しています。ここで無効にすると、ユーザーにエラーメッセージが表示され、スタートメニュー、ファイル名を指定して実行、またはデスクトップショートカットからcmd.exeを起動できなくなります。通常、オフィスマシンや共有の公共コンピュータに適しています。
いつ使うべきでしょうか?ユーザーが意味もなくCMDを起動したり、望まないスクリプトを実行しようとしたりしているのに気づいたら、これは便利な修正方法です。プロンプトが起動しなくなり、スクリプトの実行試行もブロックされます。
「ユーザーの構成」>「管理用テンプレート」>「システム」に移動します。 「コマンドプロンプトへのアクセスを禁止する」設定を見つけます。これを開いて「有効」に設定し、「OK」をクリックします。.batファイルや.cmdファイルなどのスクリプトもブロックしたい場合は、 「スクリプト処理を無効にする」も有効にしてください。
その後、gpupdate /force管理者権限のコマンドプロンプトで実行するか、再起動してポリシーをプッシュします。設定によっては多少時間がかかる場合もありますが、適用後はユーザーがコマンドプロンプトを実行しようとした際に「アクセスが拒否されました」というメッセージが表示されるはずです。
これは、ポリシーベースのクリーンなアクセス制御方法であるため、非常に便利です。一部のマシンでは、更新コマンドを実行するまで不安定になる場合がありますが、通常は再起動または更新後には安定します。
方法2: レジストリ修正でCMDを無効にする
これはより手動的な方法ですが、1台のマシンだけの場合やグループポリシーを変更したくない場合に便利です。ただし、レジストリの編集は、何をしているのかよく理解していないとリスクが伴うので注意してください。作業を始める前に、必ずレジストリのバックアップを作成してください。
ちょっと奇妙ですが、必要なレジストリパスはHKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Systemです。「System」キーが見つからない場合は、作成する必要があります。Windows を右クリックし、「新規」>「キー」を選択して、「System」という名前を付けます。
右側のペインの空白部分を右クリックし、「新規」>「DWORD(32ビット)値」を選択して、「DisableCMD」という名前を付けます。これをダブルクリックし、値のデータを2に設定します。これにより、コマンドプロンプトが無効になり、スクリプトの実行も防止されます。
OKを押して レジストリエディターを閉じます。PCを再起動して、魔法のような効果を確認しましょう。完了後、CMDを開こうとすると、「管理者がコマンドプロンプトを無効にしました」というメッセージが表示されるはずです。これは意外と簡単に実行できますが、万全ではありません。もし誰かが本気でやろうと思えば、元に戻すこともできるので、抑止力として考えてください。
後でCMDを再度有効にしたい場合は、レジストリに戻り、値を0に変更するか、 DisableCMD DWORD値を削除してください。繰り返しますが、特に共有システムや重要なシステムの場合は注意が必要です。必ず事前にバックアップを取ってください。
だいたいこれで終わりです。レジストリを少し調整したい場合でも、よりスケーラブルなグループポリシーアプローチを使いたい場合でも、コマンドプロンプトを無効にするのは思ったより簡単です。なぜうまく機能するのかは分かりませんが、いざという時に便利なトリックです。
まとめ
- 複数のデバイスを管理する場合は、グループ ポリシーを使用して、コマンド プロンプトへのアクセスを禁止します。
- レジストリ修正を使用して、一度だけすばやく無効化します。HKEY_CURRENT_USER \Software\Policies\Microsoft\Windows\Systemに移動し、DisableCMD を2 に設定します。
- 設定を適切に適用するには、変更を行った後は必ず再起動してください。
- 問題を回避するために、編集する前にレジストリをバックアップしてください。
まとめ
このような制限は完璧ではありませんが、基本的なセキュリティを強化したり、ユーザーが簡単にコマンドプロンプトを起動できないようにしたりしたい場合は、まずまずのスタートと言えるでしょう。一方で、これは少し馬鹿げた制限ではありますが、一方で、一般ユーザーに考えさせる手っ取り早い方法でもあります。マシン上で実行されるコマンドプロンプトセッションやスクリプトが少しでも減れば、それは大きなメリットです。誰かの時間を節約したり、ストレスを解消したりするのに、少しでも役立つことを願っています。
関連記事
この記事は役に立ちましたか?