特定のユーザーのコマンドプロンプトアクセスをブロックする方法

いくつかの正当な理由により、特定のユーザーがコマンドプロンプトウィンドウ(cmd.exe)を開けないようにすることが必要な場合があります。 この記事では、特定のユーザーがコマンドプロンプトを開いたり、Windowsバッチファイルを実行したりできないようにする方法について説明します。

特定のユーザーのコマンドプロンプトアクセスをブロックする方法

コマンドプロンプトのロックダウンは、NTFSアクセス許可を使用して、特定のユーザーまたはグループの(cmd.exeへの)アクセス許可拒否エントリを追加することで実行できます。 これは、組み込みのコンソールツールICacls.exeまたはAdvanced Security設定ダイアログを使用して行うことができます。

方法1:ICacls.exeコマンドラインユーティリティを使用する

管理者特権または管理者のコマンドプロンプトウィンドウから、次のコマンドを実行します。

 takeown / f cmd.exe icacls cmd.exe / deny ramesh:RX 

..「ramesh」は、cmd.exeへのアクセスを禁止するユーザー名です。 takeown.exeおよびicacls.exeコマンドの詳細については、「Windowsでコマンドラインを使用してファイルまたはフォルダーの所有権を取得する」を参照してください


方法2:詳細なアクセス許可ダイアログを使用する

C:\Windows\System32フォルダーを開きます。

cmd.exeを右クリックし、[プロパティ]をクリックします。 または、リボンの[ プロパティ ]ボタンをクリックします

ファイルのプロパティダイアログで[セキュリティ]タブを選択し、[詳細]ボタンをクリックします。 [セキュリティの詳細設定]ダイアログが開きます。

デフォルトでは、 TrustedInstallerはcmd.exeを所有しています。 「変更」をクリックして、ファイルの所有権を変更します。

$config[ads_text6] not found

「Administrators」と入力し、Enterキーを押します。

次のメッセージが表示されます。 Advanced Permissionsダイアログを閉じて、再度開きます。

このオブジェクトの所有権を取得したばかりの場合は、アクセス許可を表示または変更する前に、このオブジェクトのプロパティを閉じて再度開く必要があります。

管理者グループがファイルの所有者になります。 これで、必要に応じて権限エントリを追加できます。

[ 権限の変更]をクリックすると 、[ 追加]に変わります。

追加をクリックします

[ プリンシパルを選択]をクリックします

ユーザー名(例: ramesh )を入力し、[OK]をクリックします。

タイプ」ダイアログから、 「拒否 」を選択します

[ 読み取り ]、[ 読み取りと実行 ]のチェックボックスをオンにして、[OK]をクリックします。

これは、[セキュリティの詳細設定]ダイアログが次のように表示される方法です。

[セキュリティの詳細設定]ダイアログで、[OK]をクリックします。 次のメッセージが表示されます。 [はい]をクリックして続行します。

拒否のアクセス許可エントリを設定しています。 拒否エントリは許可エントリよりも優先されます。 これは、ユーザーが2つのグループのメンバーである場合、1つは許可を許可され、もう1つは同じ許可を拒否される場合、ユーザーはその許可を拒否されます。

続けたいですか?

システムフォルダの権限設定を変更しようとしています。 これにより、コンピューターのセキュリティが低下し、ユーザーがファイルにアクセスするときに問題が発生する可能性があります。 続けたいですか?

ブロックが機能するかどうかをテストするには、Run As(またはrunas.exe)を使用して、その特定のユーザーとしてcmd.exeを起動します。

 runas / user:ramesh c:\ windows \ system32 \ cmd.exe 

次のエラーがスローされます。

実行できません– cmd.exe => 5:アクセスが拒否されました

または、単にそのユーザーアカウントにログインして、cmd.exeを起動してみます。 ユーザー「ramesh」はファイルを読み取ったり実行したりできなくなります。

それで全部です。 これで、その特定のユーザーのコマンドプロンプト(cmd.exe)へのアクセスが無効になりました。

関連記事