0

ユーザーがコマンドラインで「dir」を実行しないようにしたかったので、DOSKEYを使用して「Dir」を「CLS」にエイリアスしました。テスターは、「DIR」の前にスペースを入れるとエイリアスが回避されることを発見しました。

DOSKEYを設定するときに「DIR」の前にスペースを入れようとしましたが、コマンドプロンプトは空白を無視します。

DOSKEYにスペースを認識させる方法を見つけた人はいますか?

ありがとう。

4

3 に答える 3

1

関連するすべての場所でのディレクトリコンテンツの一覧表示のアクセス許可をユーザーに拒否します。それはおそらくより簡単な方法です。そうすれば彼らは走ることができますdirが、それは何の役にも立ちません。

でも、なぜそんなことをしたいのか理解しようとはしていません。

に関してdoskey:お気づきのとおり、マクロ置換は文字通り、コマンドラインの先頭でのみ実行されます。それで、あなたは何をしたいですか?その前に1、2、3、...、8188のスペースを含むdirtoのマクロを作成しますか?cls

于 2012-08-15T19:57:06.367 に答える
0

ブラックリストへの登録はほとんど機能せず、この場合は確かに機能しません。たとえば、Tabキーを繰り返し押すだけで、ディレクトリ内のファイルを一覧表示できます。

代わりに、ホワイトリストを使用してください。ユーザー入力を受け取り、その入力がユーザーに実行を許可されているコマンドであることを確認し、そのコマンドをシェルに渡すか、さらには「承認された」コマンドを自分で実装するコンソールアプリケーションを作成します。 (a)特殊文字を使ったトリックはあり得ません。また、(b)承認済みアプリケーションリストからcmd.exeを削除できます。ソフトウェア制限ポリシーを使用していますよね?

于 2012-08-15T22:24:25.790 に答える
0

DOSKEYマクロのアイデアを機能させる方法を理解できたとしても(私はあなたができるとは思いませんが)、それは無意味でしょう。ユーザーは、次のバッチファイルを作成することで、制限を簡単に回避できます。

@dir %*

DOSKEYマクロはバッチファイル内では機能しないため、バッチファイルの実行を停止するものはありません。また、ユーザーはバッチファイルに好きな名前を付けることができるので、時間の調整に悩まされることになります。

于 2012-08-16T04:10:40.807 に答える