【问题标题】:What to do to 'query' Active Directory using C#如何使用 C#“查询”Active Directory
【发布时间】:2020-08-10 09:16:44
【问题描述】:

我有一个可在提供服务的浏览器中使用的内部网 URL。导航到 URL 会显示一个网页,用户可以在该网页中输入各个字段的数据,然后按一个按钮来获取结果。

我被告知这是在 Active Directory 上(如果我在这里使用了错误的术语,请道歉)。

在我继续之前,我应该提一下,我对 Active Directory 及其工作原理一无所知。

我想要做的是使用 C# 在代码中执行相同的操作。所以,我想发送一个包含相关数据的请求,并通过方法调用接收结果,以便我可以在代码中处理它。

在发现有一个充满相关类型的 System.DirectoryServices.ActiveDirectory 命名空间后,我希望这是可能的。

我应该查看哪些类,以及我可能需要将哪些数据传递到这些类型中才能实现这一切?

更新

我在网上找到了this,这看起来很有趣,因为它有一个我正在尝试做的例子。即在为用户提供电子邮件地址后查询其他用户信息。它的问题是我得到了一个Server could not be contacted 异常。我需要做更多的事情吗?我可以很好地访问网页并手动执行此服务。

这是我正在使用的代码:

        try
        {
            // enter AD settings  
            PrincipalContext AD = new PrincipalContext(ContextType.Domain, "< URL HERE >");


            UserPrincipal u = new UserPrincipal(AD);
            u.EmailAddress = "mickey@mouse.com";

            // search for user  
            PrincipalSearcher search = new PrincipalSearcher(u);
            UserPrincipal result = (UserPrincipal)search.FindOne();
            search.Dispose();

            // show some details  
            Console.WriteLine("Display Name : " + result.DisplayName);
            Console.WriteLine("Phone Number : " + result.VoiceTelephoneNumber);
        }

        catch (Exception e)
        {
            MessageBox.Show(e.Message);
        }

【问题讨论】:

    标签: c# active-directory azure-active-directory


    【解决方案1】:

    【讨论】:

    • 谢谢,我去看看。
    猜你喜欢
    • 2012-01-09
    • 2010-11-08
    • 2020-03-16
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-07
    相关资源
    最近更新 更多