C#でディレクトリのアクセス権を取得します。
ディレクトリのアクセス権を取得する場合にはDirectoryクラスのGetAccessControlメソッドを用います。
string folderPath = @"C:Windows"; System.Diagnostics.Debug.WriteLine("AreAccessRulesCanonicaltAreAccessRulesProtected"); textBox1.Text += "AreAccessRulesCanonicaltAreAccessRulesProtected" + "rn"; DirectorySecurity security = Directory.GetAccessControl(folderPath); textBox1.Text += security.AreAccessRulesCanonical + "t" + security.AreAccessRulesProtected + "rn"; string ace = "AccessControlTypetAccountNametFileSystemRightstIsInherited" +"tInheritanceFlagstPropagationFlags"; textBox1.Text += ace + "rn"; foreach (FileSystemAccessRule rule in security.GetAccessRules(true, true, typeof(NTAccount))) { ace = rule.AccessControlType + "t" + (rule.IdentityReference as NTAccount).Value + "t" + rule.FileSystemRights.ToString() + "t" + rule.IsInherited.ToString() + "t" + rule.InheritanceFlags.ToString() + "t" + rule.PropagationFlags.ToString(); System.Diagnostics.Debug.WriteLine(ace); textBox1.Text += ace + "rn"; }
http://www.ipentec.com/document/document.aspx?page=csharp-get-directory-access-rights&culture=ja-jp