LDAP的使用(Windows AD 操作)!
关于LDAP的连接有很多方式,但我尝试大多数方式都不是很好(RP问题难道。。。)
LDAP连接:
1 string domain = "";
2 string username = @"";
3 string pwd = "";
4 string domainADsPath = "LDAP://" + computerName;
5 DirectoryEntry current = new DirectoryEntry(domainADsPath, username, pwd);
2 string username = @"";
3 string pwd = "";
4 string domainADsPath = "LDAP://" + computerName;
5 DirectoryEntry current = new DirectoryEntry(domainADsPath, username, pwd);
需要注意的computerName 一定要是computer name ,其他的都会抛出连接不上的Exception。
连接上并没有什么作用,大部分连接上都是要查看,修改AD内部的数据,就需要使用DirectorySearcher。
1DirectorySearcher searcher = new DirectorySearcher(current);
2 searcher.Filter = "(objectCategory=computer)";
3 searcher.SearchScope = SearchScope.Subtree;
4 searcher.PageSize = 512;
5 SearchResultCollection results = searcher.FindAll();
2 searcher.Filter = "(objectCategory=computer)";
3 searcher.SearchScope = SearchScope.Subtree;
4 searcher.PageSize = 512;
5 SearchResultCollection results = searcher.FindAll();
serrcher.*即是DirectorySearcher的属性,上面的代码可以遍历你filter的内容,只有找到了你才能进一步去修改。
关于FindAll() results怎么去遍历:
foreach (SearchResult result in results)
{
result.property.*…………
}
{
result.property.*…………
}
可以使用foreach遍历 result.properties j建议你编写程序是可以用VS调试查看。
LDAP连接上后还可以对AD进行修改,因为没做这方面的程序,需要了解的朋友可以search一下!
Thanks!