プロが教える店舗&オフィスのセキュリティ対策術

こんにちは

WindowsNTのアクセス権調査を行いたいと考えています。

Caclsコマンドを使って、下記のように調査したいフォルダを指定し、”/t”を入力すると末端のフォルダ・ファイルまでアクセス権を出力できると思います。
>>Cacls 調査するフォルダ /t

ただ今回の場合、調査するフォルダから下位4階層まで、かつファイルアクセス権の出力は必要ありません。フォルダが沢山あるので、一つずつコマンドを実行するのは大変です。

何かよい方法はないでしょうか??

よろしくお願い致します。

A 回答 (2件)

ファイル権限デザイナーというのが一番使いやすいとおもいます。


ファイル権限は有料ですが、ユーザ一覧とアクセス権限、ファイル容量等でるみたいです。

参考URL:http://www.exceedone.co.jp/tabid/101/Default.aspx
    • good
    • 0

>ただ今回の場合、調査するフォルダから下位4階層まで、かつファイルアクセス権の出力は必要ありません。



4階層目までのフォルダのアクセス権の出力だけで良いということでしょうか?

もし、そういう意味でしたら、『コマンドプロンプト』の『コマンド拡張機能』が有効になっていて、"FOR"コマンドの"/D"オプションが使えれば、(2000はデフォルトで『コマンド拡張機能』が有効になっていますが、現在、出先でNT環境での確認が出来ません)

1階層目:
for /d %a in (*.*) do cacls "%a"
(変数%aをワイルドカードで1階層下のフォルダ名に展開して、"cacls"コマンドを実行。以下、いずれも"cacls"コマンドの"/t"オプションは付けない。)

2階層目:
for /d %a in (*.*) do for /d %b in ("%a\*.*") do cacls "%b"
(変数%bを1階層下の全フォルダのサブフォルダ名に順次展開して、"cacls"コマンドを実行)

3階層目:
for /d %a in (*.*) do for /d %b in ("%a\*.*") do for /d %c in ("%b\*.*") do cacls "%c"

4階層目:
for /d %a in (*.*) do for /d %b in ("%a\*.*") do for /d %c in ("%b\*.*") do for /d %d in ("%c\*.*") do cacls "%d"

なお、バッチファイル内で使用する場合には、変数名を%%a、%%b・・・にしてください。

↓"FOR"コマンドの"/D"オプションのヘルプです。

FOR /D %変数 IN (セット) DO コマンド [コマンドパラメータ]

セットがワイルドカードを含む場合は、ファイル名ではなくディレクトリ名の一致を指定します。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!