【问题标题】:Query for retrieving account associated with ServicePrincipleName(SPN)检索与 ServicePrincipalName(SPN) 关联的帐户的查询
【发布时间】:2015-03-26 23:24:16
【问题描述】:

我们有一个基于 C# 构建的内部站点,并具有用于各种功能的各种工具,以帮助公司查找/修改/添加服务帐户等。这些工具只是自动化这些任务的 C# 代码。 /含糊的

我被要求找到/创建一种输入 SPN 并让它返回与其关联的服务帐户的方法。

比如:

输入:HTTP/server1.company.com

输出:SVC_ACCT_AWESOME

我收到的另一个请求是输入服务帐户名称并将其返回给 KVNO。

问题,我以前从未在 C# 中做过任何事情。我已经加载了 Visual Studio 2013,我想学习。我花了几个小时在谷歌上倾注,没有发现任何有用的东西:

https://msdn.microsoft.com/en-us/library/vstudio/system.servicemodel.configuration.identityelement.serviceprincipalname(v=vs.100).aspx

不幸的是,这对我来说没有任何意义。

我们将非常感谢您为这些特定任务提供的任何指导!

谢谢。

【问题讨论】:

    标签: c# scripting kerberos spn


    【解决方案1】:

    我相信您可以通过以下方式查询 AD 中的 SPN:

    using (var root = new DirectoryEntry()) // or pass in something like "LDAP://dc=example,dc=com" to query a different domain
    using (var searcher = new DirectorySearcher(root))
    {
        searcher.Filter = "(servicePrincipalName=HTTP/server1.company.com)";
    
        using (var results = searcher.FindAll())
        {
            foreach (SearchResult result in results)
                Console.WriteLine(result.Properties["samAccountName"][0]); // or whatever you want to do with it
        }
    }
    

    (这需要引用 System.DirectoryServices)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      • 2012-11-27
      • 1970-01-01
      • 1970-01-01
      • 2018-03-30
      • 1970-01-01
      相关资源
      最近更新 更多