【问题标题】:Using DirectorySearcher in global catalog to find DOMAIN\username在全局目录中使用 DirectorySearcher 查找 DOMAIN\username
【发布时间】:2014-01-14 15:49:45
【问题描述】:

我有一个多域活动目录环境,需要根据 DOMAIN\username 查找用户。

以下代码非常适合按 SID 查找用户。

DirectorySearcher directorySearcher = new DirectorySearcher(new DirectoryEntry(
    "GC://" + Forest.GetCurrentForest().Name));

directorySearcher.Filter =
    "(&" +
        (&(objectCategory=person)(objectClass=user)) +
        "(objectSid=" + this.SID + "))";
var result = directorySearcher.FindOne();

但现在我所拥有的只是域\用户名。

过滤器中的内容是什么?

我考虑的一种方法是连接到特定域而不是全局目录并通过不合格的 SAMAccountName 进行搜索。但我的问题是我不知道如何从 DOMAIN 到 DC=Domain,DC=Org 或 domain.org。

当我在 Active Directory 用户和计算机中时,按 DOMAIN\username 搜索整个目录似乎没有问题。幕后发生了什么?

【问题讨论】:

    标签: dns global catalog directorysearcher


    【解决方案1】:

    这是缺失的部分。

    using System.Security.Principal;
    
    var sid = (SecurityIdentifier)new NTAccount(userName).Translate(
        typeof(SecurityIdentifier));
    

    【讨论】:

      猜你喜欢
      • 2018-12-22
      • 1970-01-01
      • 2015-04-23
      • 1970-01-01
      • 2016-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多