0

現在のシステムで「Everyone」権限で作成されたフォルダの名前と場所を取得する方法

4

1 に答える 1

0

DirectoryInfo.GetAccessControlを使用して取得できます

現在の DirectoryInfo オブジェクトによって記述されたディレクトリのアクセス制御リスト (ACL) エントリをカプセル化する DirectorySecurity オブジェクトを取得します。

システム内の単一のディレクトリ用。残りは、システム内のすべてのディレクトリを反復処理してこれを呼び出す実装の問題です。

例:

    string[] drives = System.Environment.GetLogicalDrives();
    foreach (string dr in drives)
    {
        System.IO.DriveInfo di = new System.IO.DriveInfo(dr);


        if (!di.IsReady)
        {               
            continue;
        }
        System.IO.DirectoryInfo root = di.RootDirectory;
        var directories = root.GetDirectories("*.*", System.IO.SearchOption.AllDirectories);
        foreach(var dirInfo in directories ) {
            var diAccess = dirInfo.GetAccessControl(..) ;
        }

    }

完全な例と説明を見つけることができます:方法: ディレクトリ ツリーを反復処理する

これは単なるスケッチです。必要に応じて変更してください。

于 2013-04-12T12:36:05.180 に答える