我发现了一篇关于从here
获取活动目录中用户的文章所以我的代码可能会喜欢这个
String strPath = "format of this path";
DirectoryEntry entry = null;
entry = new DirectoryEntry(strPath);
DirectorySearcher mySearcher = new DirectorySearcher(entry);
mySearcher.Filter = ("ObjectCategory=user");
foreach (SearchResult result in mySearcher.FindAll())
{
String strName = result.GetDirectoryEntry().Name;
//Do whatever
}
你能在这里解释strPath吗?这是什么格式?
注意:我知道我的服务器信息可以使用我的本地IP“198.168.1.182”进行测试。
我不确定我的想法是否正确。
请帮助!!!
答案 0 :(得分:5)
由于您使用的是.NET 4,因此您一定要查看System.DirectoryServices.AccountManagement
(S.DS.AM)命名空间。在这里阅读所有相关内容:
Managing Directory Security Principals in the .NET Framework 3.5
基本上,您可以定义域上下文并轻松在AD中查找用户和/或组:
// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
// find user by name
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "John Doe");
// if we found user - inspect its details
if(user != null)
{
string firstName = user.GivenName;
string lastName = user.Surname;
string email = user.EmailAddress;
string phone = user.VoiceTelephoneNumber;
}
新的S.DS.AM使得在AD中使用用户和群组变得非常容易:
答案 1 :(得分:1)
strPath是LDAP URL,可在此处找到更多信息: http://en.wikipedia.org/wiki/LDAP#LDAP_URLs
该结构起初可能看起来有点奇怪,但维基百科的例子给出了一个很好的总结。