我们有一个基于C#构建的内部网站,并提供各种各种功能的工具,以帮助公司查找/修改/添加服务帐户等。这些工具只是C#代码,可以自动执行这些任务。 /模糊
我被要求查找/创建一种输入SPN的方法,让它返回与之关联的服务帐户。
类似于:
输入:HTTP / server1.company.com
输出:SVC_ACCT_AWESOME
我得到的另一个请求是输入服务帐户名称并让它返回KVNO。
问题,我以前从未在C#做过任何事情。我已经加载了Visual Studio 2013,我想学习。我花了好几个小时倒在谷歌上,并没有找到除此之外有用的东西:
不幸的是,这对我没有任何意义。
任何可以为这些特定任务提供的方向都将受到超级赞赏!
感谢。
答案 0 :(得分:0)
我相信您可以使用以下内容查询AD for 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的引用)