从 AD 获取组子组和用户(质量检查

本文关键字:用户 质量检查 AD 获取 | 更新日期: 2023-09-27 17:56:56

我正在检索所有组、子组和用户

我正在使用以下代码

ResultPropertyValueCollection resultCollection = result.Properties["member"];
                foreach (var oneResult in resultCollection)
                {
                    if (oneResult.ToString().IndexOf("OU=Groups") > -1)
                    {
                        group.SubGroupsNames.Add(GetCN(oneResult.ToString()));
                    }
                    else if (oneResult.ToString().IndexOf("OU=Users") > -1)
                    {
                        group.UsersNames.Add(GetCN(oneResult.ToString()));
                    }
                }
private string GetCN(string line)
    {
        return line.Substring(line.IndexOf("CN=") + 3, line.IndexOf(",") - line.IndexOf("=")-1);
    }

它工作正常,但由于我将由代码质量控制器控制,有没有更好的方法来编写它?还是对你没问题?

从 AD 获取组子组和用户(质量检查

我不完全清楚你想做什么,但我看到这里正在进行一些轮子重塑。

看看System.DirectoryServices.AccountManagement,尤其是GroupPrincipal课。

你会在那里找到一些很棒的方法,例如getMembers()(带有递归)、IsMemberOf()和许多其他有用的东西。