代码之家  ›  专栏  ›  技术社区  ›  noctonura

如何使用C#向OU添加权限?

  •  1
  • noctonura  · 技术社区  · 15 年前

    我可以得到像这样的对象。。。。

            DirectoryEntry de = new DirectoryEntry(
                "LDAP://domain.com",
                "DOMAIN\\Administrator",
                "Password");
            DirectoryEntry ouEntry = de.Children.Find("OU=my-users,DC=domain,DC=com");
    

    1 回复  |  直到 15 年前
        1
  •  1
  •   Raymund    15 年前

    试试这个

    DirectoryEntry rootEntry = new DirectoryEntry("LDAP://OU=Test OU,DC=test,DC=com");
    DirectorySearcher dsFindOUs = new DirectorySearcher(rootEntry);
    
    dsFindOUs.Filter = "(objectClass=organizationalUnit)";
    dsFindOUs.SearchScope = SearchScope.Subtree;
    SearchResult oResults = dsFindOUs.FindOne();
    DirectoryEntry myOU = oResults.GetDirectoryEntry();
    
    System.Security.Principal.IdentityReference newOwner = new System.Security.Principal.NTAccount("YourDomain", "YourUserName").Translate(typeof(System.Security.Principal.SecurityIdentifier));
    ActiveDirectoryAccessRule newRule = new ActiveDirectoryAccessRule(newOwner, ActiveDirectoryRights.GenericAll, System.Security.AccessControl.AccessControlType.Allow);
    myOU.ObjectSecurity.SetAccessRule(newRule);
    

    雷蒙德 http://anyrest.wordpress.com

    推荐文章