【问题标题】:retrieve username and nickname from active directory on local network从本地网络上的活动目录中检索用户名和昵称
【发布时间】:2011-04-01 18:32:14
【问题描述】:

我想从服务器的活动目录中读取本地网络上任何用户的用户名和昵称。我该怎么做?非常感谢。

【问题讨论】:

    标签: c# winforms networking active-directory


    【解决方案1】:
    public void getUser()
    {
     DirectoryServices.SearchResult myResult;
     string filterString = string.Empty;
     string EntryString = "LDAP:// <Your AD Domain here>";
     DirectoryServices.DirectorySearcher myDirectorySearcher = new DirectoryServices.DirectorySearcher(new DirectoryServices.DirectoryEntry(EntryString, "Username", "Password"));
     string tempStr;
     string[] splStr = new string[3];
    
     filterString = "(sAMAccountName=" + Username + ")";
     myDirectorySearcher.Filter = filterString;
     myDirectorySearcher.PropertiesToLoad.Add("cn");
     myResult = myDirectorySearcher.FindOne();
     splStr = Regex.Split(myResult.Properties("cn").Item(0).ToString, " ");
     tempStr = splStr(1).ToString + " " + splStr(0).ToString;
     Label1.Text = "Hello " + tempStr;
    }
    

    【讨论】:

    • @rmcdonald: 这个代码我可以看到用户名和昵称??
    • 抱歉,添加其他字段只需使用 myDirectorySearcher.PropertiesToLoad.Add()。例如,要获取 givenname(我认为是昵称): myDirectorySearcher.PropertiesToLoad.Add("givenname")
    • @rmcdonald:我是新程序员,对不起,你的意思是我可以向 myDirectorySearcher 添加 2 个属性??myDirectorySearcher.PropertiesToLoad.Add("cn");和 myDirectorySearcher.PropertiesToLoad.Add("givenname") ok??
    • 是的,您可以添加任意数量的内容,并且可以像访问“cn”一样访问它们。 myResult.Properties("givenname").Item(0).ToString()
    • @rmcdonald:"DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://"my domain); DirectorySearcher myDirectorySearcher = new DirectorySearcher(directoryEntry); "如果我改变你的代码,用这个代码我可以得到任何用户的属性,是真的吗??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    相关资源
    最近更新 更多