【问题标题】:Finding a user's manager record in Active Directory在 Active Directory 中查找用户的经理记录
【发布时间】:2009-06-11 14:57:49
【问题描述】:

使用 Active Directory,我正在尝试查找用户经理的 SamAccountName 和电子邮件。

我通过搜索 sAMAccountName = Domain\Account 在 AD 中找到登录用户。然后我检索 manager 属性,如下所示,例如:

CN=Doe\, Jane E.,OU=Employees,OU=Users,OU=Detroit,OU=United States,DC=na,DC=gmc,DC=gmc,DC=com"

如何使用此假定密钥来查找此人的用户记录?我会匹配哪个字段?

【问题讨论】:

    标签: active-directory adsi


    【解决方案1】:

    如果我没记错的话,那是他们的专有名称,这意味着您可以将其用作对其个人资料的直接引用

    LDAP://CN=Doe, Jane E.,OU=Employees,OU=Users,OU=Detroit,OU=United States,DC=na,DC=gmc,DC=gmc,DC=com
    

    我还认为,如果配置文件存在,它将返回该名称。如果它已被删除,那么我相信它会运行某种 GUID(基于内存 - 这可能是不正确的)

    【讨论】:

    【解决方案2】:

    经理的条目是经理的绑定字符串。您可以通过将其绑定到将返回经理信息的对象,将其反馈到对活动目录的请求中。

    【讨论】:

      【解决方案3】:

      (这是旧时的帖子,但我认为可能对社区中的其他人有用)

      您可以使用字符串剥离并像这样找到它:

      REPLACE(SUBSTRING(manager, 4, CHARINDEX('OU=', manager)-5), '\', '')

      完整的工作查询(只需将 DOMAIN 更改为您自己的):

      SELECT Top 901 manager, REPLACE(SUBSTRING(manager, 4, CHARINDEX('OU=', 
      manager)-5), '\', '')
      FROM OPENQUERY( ADSI, 'SELECT manager FROM ''LDAP://DC=DOMAIN,DC=local'' 
           WHERE objectCategory = ''Person'' AND objectClass= ''user''
           AND userprincipalname = ''*'' AND mail = ''*'' AND SN = ''*'' ')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-15
        相关资源
        最近更新 更多