【问题标题】:Pull Manager Name From LDAP Query [ SQL View Created from LDAP Query ]从 LDAP 查询中提取管理器名称 [从 LDAP 查询创建的 SQL 视图]
【发布时间】:2015-04-23 10:02:50
【问题描述】:

我已经设置了这个视图:

SELECT     
displayname AS [Full Name], manager, department, company, 
physicaldeliveryofficename, mail AS [E-Mail Address], telephonenumber
FROM         
OPENQUERY(ADSI, 
'SELECT 
sAMAccountName, givenName, company, 
physicaldeliveryofficename, sn, displayname, mail, telephonenumber,department, useraccountcontrol, manager 
FROM 
''LDAP://DC=blah,DC=local''
WHERE 
objectClass = ''User'' and objectCategory = ''Person''') AS derivedtbl_1
WHERE     
(useraccountcontrol & 2 = 0)

使用 SQL Server 从 ActiveDirectory 中提取员工数据,但经理字段带有所有映射:CN、OU、DC,如下所示:

CN=blah blah,OU= blah ,OU=blah TGP,DC= blah,DC=local

而我真正想要的是他们的全名(CN)

我想要两件事:

  1. 仅从视图中拉出 CN。

  2. 获取经理的电子邮件。

视图使用以下字段:

显示名称、经理、部门、公司、物理交付办公室名称、邮件

但是,我希望最终结果在其末尾有额外的字段经理电子邮件以完成完整的数据集。

如上所述,包含所有信息的视图已成功创建,因此可以在 SQL 端完成,但我正在努力寻找一种方法来实现我想要的。

提前致谢!

编辑:添加查看代码

【问题讨论】:

    标签: sql sql-server active-directory ldap


    【解决方案1】:

    老问题,但对于正在寻找解决方案的其他人。通过一些 SUBSTRING 工作拉出了 CN。 SUBSTRING 将抓取第一个等号和第一个逗号之间的任何内容,解决了第一个问题:

    SELECT       [displayname] AS [Full Name], 
             [manager], 
             LTRIM(RTRIM(SUBSTRING([manager], CHARINDEX('=', [manager]) + 1, CHARINDEX(',', [manager]) - CHARINDEX('=', [manager]) - 1))) AS [ManagerName], 
             [department], 
             [company], 
             [physicaldeliveryofficename], 
             [mail] AS [E-Mail Address], 
             [telephonenumber]
       FROM  OPENQUERY([ADSI], 'SELECT sAMAccountName, givenName, company, physicaldeliveryofficename, sn, displayname, mail, telephonenumber,department, useraccountcontrol, manager FROM ''LDAP://DC=blah,DC=local'' WHERE objectClass = ''User'' and objectCategory = ''Person''') AS [derivedtbl_1]
       WHERE [useraccountcontrol]&2 = 0;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-07
      • 1970-01-01
      相关资源
      最近更新 更多