代码之家  ›  专栏  ›  技术社区  ›  DForck42

带有SQL Server 2005的Active Directory组

  •  0
  • DForck42  · 技术社区  · 17 年前

    好的,所以我已经有了到服务器上Active Directory的现有连接。我知道查询Active Directory有效。我希望能够查询Active Directory中的所有组织单位和/或组,并且能够找到属于这些组/组织单位的用户。

    这是当前仅提取用户信息的查询(或设置为提取所有用户的存储过程的一部分):

    SELECT
        userAccountControl,
        DisplayName AS [NAME],
        givenName AS FIRSTNAME,
        middleName, 
        sn AS LASTNAME,
        employeeID AS EMPID,
        telephoneNumber AS EXT,
        Title, 
        Department AS DEPT,
        Division,
        sAMAccountName AS UserName,
        mail AS Email,
        homeDirectory AS HomeDir,
        userPrincipalName AS LOGON,
        manager
    FROM         OPENQUERY(ADSI, 
                          '
     select
         userAccountControl,
         DisplayName,
         givenName,
         middleName,
         sn,
         employeeID,
         telephoneNumber,
         Title,
         Department,
         Division,
         sAMAccountName,
         mail,
         homeDirectory,
         userPrincipalName,
         manager
     from ''LDAP://name''
     where sn > ''a''
        and sn <''h''
     order by DisplayName
     ')
    AS derivedtbl_1
    
    1 回复  |  直到 17 年前
        1
  •  1
  •   Tomalak    17 年前

    您是否知道这样一个事实,即您不能查询超过广告服务器愿意在一个回复中返回的对象?

    ADSI SQL提供程序不支持对结果进行分页。通常将AD服务器配置为只返回前1000个结果。

    如果您一次查询几乎所有的广告对象,则很可能达到该限制。

    你能解释一下你想要达到的目标吗?