从 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);
}
它工作正常,但由于我将由代码质量控制器控制,有没有更好的方法来编写它?还是对你没问题?
我不完全清楚你想做什么,但我看到这里正在进行一些轮子重塑。
看看System.DirectoryServices.AccountManagement
,尤其是GroupPrincipal
课。
你会在那里找到一些很棒的方法,例如getMembers()
(带有递归)、IsMemberOf()
和许多其他有用的东西。