小编cym*_*org的帖子

列出所有Active Directory组

以下代码列出了一些(但不是全部)Active Directory组.为什么?

我正在尝试列出所有安全组,通讯组,计算机组等.我是否指定了错误objectClass

private static void ListGroups()
{
    DirectoryEntry objADAM = default(DirectoryEntry);
    DirectoryEntry objGroupEntry = default(DirectoryEntry);
    DirectorySearcher objSearchADAM = default(DirectorySearcher);
    SearchResultCollection objSearchResults = default(SearchResultCollection);
    SearchResult myResult=null;

    objADAM = new DirectoryEntry(LDAP);
    objADAM.RefreshCache();
    objSearchADAM = new DirectorySearcher(objADAM);
    objSearchADAM.Filter = "(&(objectClass=group))";
    objSearchADAM.SearchScope = SearchScope.Subtree;
    objSearchResults = objSearchADAM.FindAll();

    // Enumerate groups 
    try
    {
        fileGroups.AutoFlush = true;
        if (objSearchResults.Count != 0)
        {
            foreach (SearchResult objResult in objSearchResults)
            {
                myResult = objResult;
                objGroupEntry = objResult.GetDirectoryEntry();
                Console.WriteLine(objGroupEntry.Name);
                fileGroups.WriteLine(objGroupEntry.Name.Substring(3));
            }
        }
        else
        {
            throw new Exception("No …
Run Code Online (Sandbox Code Playgroud)

c# ldap active-directory active-directory-group

24
推荐指数
1
解决办法
6万
查看次数

从Windows文件夹中删除权限

我在远程服务器上有一个widows文件夹,我希望从该文件夹中删除特定用户的权限.我尝试过很多方法,似乎没什么用.

我没有使用以下代码的错误,但权限保持不变.我没有使用正确的对象或缺少这些对象的一些步骤吗?任何帮助将不胜感激.

dirName作为共享传递,例如\ myserver\myfolder

private void removePermissions(string dirName, string username)
    {
        string user = System.Environment.UserDomainName + "\\" + username;
        DirectoryInfo dirinfo = new DirectoryInfo(dirName);
        DirectorySecurity dsec = dirinfo.GetAccessControl(AccessControlSections.All);

        AuthorizationRuleCollection rules = dsec.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount));
        foreach (AccessRule rule in rules)
        {
            if (rule.IdentityReference.Value == user)
            {
                bool value;
                dsec.PurgeAccessRules(rule.IdentityReference);
                dsec.ModifyAccessRule(AccessControlModification.RemoveAll, rule, out value);
                MessageBox.Show("Removed permission from " + dirName + " for " + user);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# windows permissions

4
推荐指数
1
解决办法
3572
查看次数