DirectoryEntry DirEntry = new DirectoryEntry("LDAP://" + domain, null, null, AuthenticationTypes.None);
DirectorySearcher search = new DirectorySearcher(DirEntry);
search.Filter = String.Format("(SAMAccountName={0})", "my_login_name");
search.PropertiesToLoad.Add("cn");
SearchResult result1 = search.FindOne();
myDataTable Users = new myDataTable();
DataRow User;
foreach (SearchResult i in search.FindAll())
{
DirectoryEntry CurrentDirEntry;
User = Users.NewUserRow();
CurrentDirEntry = i.GetDirectoryEntry();
User.FirstName = (string)CurrentDirEntry.Properties["givenname"].Value;
User.LastName = (string)CurrentDirEntry.Properties["sn"].Value;
User.UserName = (string)CurrentDirEntry.Properties["sAMAccountName"].Value;
User.Email = (string)CurrentDirEntry.Properties["mail"].Value;
Users.AddUserRow(User);
}
我试图从Active Directory读取一些属性但试图返回读取从Active Directory中的登录名空
sAMAccountName赋
值始终返回空值,我想知道为什么这是如此,因为它被匹配在搜索过滤器。它可能与访问权限有关吗?
我想返回名字,姓氏,电子邮件和登录名。我收到除登录名之外的其他属性。
间距实际上是一个错字,现在纠正。 – StackTrace 2015-02-09 09:08:43