【问题标题】:SQL script - get OU's ObjectGuid from AD user's attributesSQL 脚本 - 从 AD 用户的属性中获取 OU 的 ObjectGuid
【发布时间】:2020-12-29 13:36:34
【问题描述】:

我想将组织单位 guid (filtering objectClass = ''organizationalunit'') 加入用户的组织 (filtering objectClass = ''User'')... 我没有看到匹配代码(来自 AD 的用户属性中的 OU guid)以匹配我拥有所有 OU 的数据集 objectClass = ''organizationalunit'')

-- dataset to get all OUs --I have an OU ObjectGUId here! it looks ok.
select *
FROM            OPENQUERY([ADSI], 
                         'SELECT 
                        Name, ADsPath,objectguid , parentguid       
    FROM ''myLDAP path'' 

    WHERE 
            objectClass = ''organizationalunit''
        
            ')
                          AS t

-- dataset to get users attributes--I do not see an OU ObjectGUId related to users OU structure
-- I checked here but no luck http://www.kouti.com/tables/userattributes.htm
select *
FROM            OPENQUERY([ADSI], 
                         'SELECT 
            userPrincipalName,ADsPath,
            Name, 
            displayName,
            objectCategory,
            SN, 
            givenName,
            ST, 
            SamAccountName, 
            DistinguishedName,
            ObjectGUID, 
            physicalDeliveryOfficeName,
            department,
            ObjectSID, 
            mail    ,preferredOU    , ou ,o
    FROM ''myLDAP path'' 

    WHERE 
            objectClass = ''User''
        
            ')

【问题讨论】:

    标签: sql-server active-directory


    【解决方案1】:

    如果我正确理解您的问题,您希望将用户列表加入他们所在的组织单位。

    Active Directory 是一个树形结构,distinguishedName 是描述对象所在位置的路径。

    因此,要从一个对象移动到该对象所在的容器,您需要删除 distinctName 的第一个元素,该元素以逗号分隔。

    因此,distinguishedName cn=user,ou=container,dc=domain,dc=local 的用户驻留在组织单元 ou=container,dc=domain,dc=local 中

    因此,解决方案或多或少类似于来自用户的 SELECT RIGHT(distinguishedName, CHARINDEX(",", distingishedName) + 1),然后您将其加入到organizationalUnits distinctName。

    对象没有按照您建议的方式通过 objectGUID 链接。

    很抱歉,我无法为您提供直接工作的 SQL 代码,您可能比我更擅长这方面的工作;-)

    【讨论】:

    • 好的,谢谢拉尔斯。对.. 我正在寻找用户的 'ou guid' 属性,但它似乎不存在。我做了类似你建议的事情。谢谢。
    猜你喜欢
    • 2015-01-22
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多