あるフォルダのアクセス権が、親フォルダのアクセス権を継承しているかどうかを調べるコマンドやツールはありませんでしょうか。

Windows2000/2003サーバーを利用しています。

フォルダのプロパティでセキュリティの詳細設定を開いたときに「子オブジェクトに適用するアクセス許可エントリを親から継承し、それらをここで明示的に定義されているものに含める」にチェックが入っているかどうか調べる方法です。(直接見る以外)

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/05/15 09:07:57
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:mj99 No.2

回答回数138ベストアンサー獲得回数38

ポイント57pt

VBSで

strPath = Wscript.arguments(0)

Set objSec = GetObject("winmgmts:Win32_LogicalFileSecuritySetting.path='" & strPath & "'")

' SE_DACL_PROTECTED(&h1000) = Prevents the DACL of an SD from being modified by inheritable ACEs.
If objSec.ControlFlags And &h1000 Then
    WScript.Echo strPath &"は親のアクセス権を継承しません(アクセス権が保護されている)"
Else
    WScript.Echo strPath &"は親のアクセス権を継承します(アクセス権は保護されていない)"
End If

実行はコマンドラインで以下のようにしてください(c:\testの部分を任意に)

cscript //nologo hoge.vbs "c:\test"
id:harrypotter

回答ありがとうございます!

チェックできました!

vbsはよく分かりませんが、フォルダリストを読み込んで一括チェックするようなものを作りたいと思います。

大変参考になりました。

2008/05/15 09:07:23

その他の回答1件)

id:fuentebella No.1

回答回数269ベストアンサー獲得回数30

ポイント20pt

CACLSコマンドで、継承フラグを調べることができます。

http://www.atmarkit.co.jp/fwin2k/win2ktips/704cacls/cacls.html

http://www.monyo.com/technical/windows/11.html

id:harrypotter

回答ありがとうございます。

残念ながら、CACLSでは親フォルダに対してのチェックしか出来ません。

「あるフォルダが下位に継承しようとしているかどうか」のチェックしか出来ず、しかも実際に下位フォルダが継承しているかどうかも分かりません。

「上位から継承しているかどうか」を調べたいと思っています。

2008/05/15 09:03:14
id:mj99 No.2

回答回数138ベストアンサー獲得回数38ここでベストアンサー

ポイント57pt

VBSで

strPath = Wscript.arguments(0)

Set objSec = GetObject("winmgmts:Win32_LogicalFileSecuritySetting.path='" & strPath & "'")

' SE_DACL_PROTECTED(&h1000) = Prevents the DACL of an SD from being modified by inheritable ACEs.
If objSec.ControlFlags And &h1000 Then
    WScript.Echo strPath &"は親のアクセス権を継承しません(アクセス権が保護されている)"
Else
    WScript.Echo strPath &"は親のアクセス権を継承します(アクセス権は保護されていない)"
End If

実行はコマンドラインで以下のようにしてください(c:\testの部分を任意に)

cscript //nologo hoge.vbs "c:\test"
id:harrypotter

回答ありがとうございます!

チェックできました!

vbsはよく分かりませんが、フォルダリストを読み込んで一括チェックするようなものを作りたいと思います。

大変参考になりました。

2008/05/15 09:07:23

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません