关于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。
1
DirectorySearcher 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!