关于AD的查询操作

我今天才刚刚看了看AD以及AD编程方面的东西,看到了在.net中可以使用System.DirectoryServices来操作AD。

DirectoryEntry de = new DirectoryEntry("LDAP://" + DomainText);
//查询
DirectorySearcher src = new DirectorySearcher("(&(objectCategory=person)(objectClass=user))");
//根节点
src.SearchRoot = de;
//搜索范围包含所有子对象
src.SearchScope = System.DirectoryServices.SearchScope.Subtree;
//遍历所有搜索到的节点
foreach(SearchResult res in src.FindAll())
{
foreach(string myKey in res.Properties.PropertyNames)
{
foreach( Object obj in res.Properties[myKey])
{
Console.WriteLine("....................");
}
}
}

1. objectClass=organizationalUnit 查询条件是所有的组织单元(OU)

2. objectClass=group 查询条件是所有的组(GROUP)

3. objectClass=user 查询条件是所有的用户(USER)

 

private string GetITPartName(string DomainText, string strCurrentUserName, String strITUrl)
{
DirectoryEntry de = new DirectoryEntry("LDAP://" + DomainText);
DirectorySearcher ds = new DirectorySearcher("name=" + strCurrentUserName);
ds.SearchRoot = de;
ds.SearchScope = SearchScope.Subtree;
DirectoryEntry des = ds.FindOne().GetDirectoryEntry();
foreach (string str in strITUrl.Split('/'))
{
if (string.IsNullOrEmpty(str))
return null;
if (str == "..")
des = des.Parent;
else
{
ds.SearchRoot = des.Parent;
ds.Filter = "name=" + str;
des = ds.FindOne().GetDirectoryEntry();
}
}
//ds.SearchRoot = des;
//ds.Filter = "title=" + strTitle;
//des = ds.FindOne();
return des.Properties["name"][0].ToString();
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jiangxng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值