标签: ldap-query

使用"SQL"查询Active Directory?

我只是想知道是否有人知道或制作了一个围绕Active Directory的包装器,以便能够在.net中轻松查询它?有点像"LINQ-to-ActiveDirectory"或一些SQL方言,即能够做"SELECT DISTINCT(DEPARTMENT)FROM/Users/SomeOU/AnotherOU"或"SELECT user FROM domain"等等.

据我所知,有可能以"SQLesque"方式查询WMI和IIS,我只是想知道Active Directory是否也可以有类似的东西,而不必学习另一种查询语言(LDAP)?

.net ldap active-directory ldap-query

6
推荐指数
1
解决办法
1261
查看次数

如何从LDAP目录中检索自特定日期以来添加的那些用户和组的列表?

我的应用程序每天进行一次LDAP查询,并获取给定容器中的所有用户和组.一旦获取,我的应用程序将遍历组的用户列表,仅将新的用户添加到我的应用程序的数据库(它只添加用户名).

如果有50,000个用户,我的应用程序服务器每天忙于执行此操作45分钟.

有没有办法在我的LDAP查询中指定我需要"delta",以便我只检索自上次LDAP查询以来添加/修改/删除的用户?

ldap ldap-query

6
推荐指数
1
解决办法
7515
查看次数

无法导入LDAP查询Feed数据

我已经设置了一个LDAP查询,该查询成功physicaldeliveryofficename从Windows Active Directory中提取字段中的所有数据:

LDAP_query.png

我还设置了一个View,它使用查询来进一步细化列表,因此我确信查询本身正在运行:

LDAP_views.png

当我尝试使用Feeds Importers获取该数据并将其添加到我的Offices内容类型时,会出现此问题.这是我的设置:

基本设置

名称:办公室附加到内容类型:使用独立形式定期导入:1天提交时导入:已选中

Fecher

已选中LDAP Query Fetcher

LDAP查询提取程序

LDAP查询:HPSI办公室(这是正确的查询)

分析器

选择了LDAP Entry Parser for Feeds

处理器

节点处理器已选中

节点处理器

Bundle:Office语言:语言中性插入新节点:插入新节点更新现有节点:更新现有节点文本格式:纯文本(也尝试过HTML)在Feed中缺少先前导入的节点时要采取的操作:删除不存在的节点:目前正在使用用户1,还尝试过匿名授权:已检查过期节点:从不

制图

来源:[physicaldeliveryofficename]目标:标题(标题)用作唯一

当我运行这个Feed导入器时,唯一发生的事情是使用空白标题创建一个Office(请参阅最后一张图片.)任何人都可以告诉我为什么这个导入器在LDAP查询和视图依赖于它有效吗?

Feeds_import.png

更新:我在Drupal.org上针对LDAP Feeds打开了一个问题,看起来我不是唯一遇到此问题的人.https://www.drupal.org/node/2685009

drupal ldap ldap-query drupal-feeds

6
推荐指数
1
解决办法
267
查看次数

我可以将用户与不同域中的组匹配吗?

我正在尝试编写一个LDAP查询,它将发现用户是否是与通配符查询匹配的组的成员,并且我正在尝试使用LDAP_MATCHING_RULE_IN_CHAIN OID来执行此操作.我基本上按照这个页面上的示例2:

http://support.microsoft.com/kb/914828

我发现这个方法在域内运行良好,即如果user1在group1中,group1在group2中,那么我可以编写一个匹配"*2"的查询,LDAP查询将找到嵌套关系并将用户与组匹配.

但是,现在我被要求支持同一个林中域之间的关系.所以现在我有:

  • user1是域1中group1的成员
  • 域1中的group1是域2中group2的成员

我希望能够将user1与group2相匹配....我无法弄清楚如何使LDAP_MATCHING_RULE_IN_CHAIN执行此操作:

我已经尝试将查询的基础设置为以下内容:

  1. 域1,但这只返回域1中的组
  2. 域1和域2的父域,但不返回任何结果.
  3. GC,通过查询"rootDSE"属性找到,但这只返回域1内的组(这是GC服务器)

谁知道我怎么能做这个工作?

ldap active-directory ldap-query

5
推荐指数
1
解决办法
3446
查看次数

ldap_search 将不接受搜索输入中带括号的过滤器

在我正在处理的 php 页面中,建立了 LDAP 连接,从中拉出 cn 条目列表并将其放入下拉列表中。下拉列表中的选择通过表单提交发送到另一个 php 脚本,该脚本根据 LDAP 检查选定的 cn 以获取更多相关信息。

对于大多数名称,这没有问题;however, a cn was recently added that includes parentheses enclosing a nickname, and when that name is selected it causes the ldap_search() method to return false. 下面是代码,其中 $employeename 是经过消毒的员工姓名。

...

$dn = "cn=users,dc=our-domain,dc=com";
$filter = "(cn=".$employeename.")";

$attrs = array("cn", "mail");
$rslt = ldap_search($ldapsvr, $dn, $filter, $attrs);

$entries = ldap_get_entries($ldapsvr, $rslt);

...
Run Code Online (Sandbox Code Playgroud)

$filter 字符串最终为

(cn=First (FN) Last)
Run Code Online (Sandbox Code Playgroud)

其中 First 是名字,Last 是姓氏,FN 是包含的昵称。我曾尝试将括号转义为 \28 和 \29(如提供here,其中还说匹配的括号不需要转义),但没有帮助。有效的名称包括字母、空格和句点(用于中间名首字母)。

(cn=First …
Run Code Online (Sandbox Code Playgroud)

php ldap ldap-query

5
推荐指数
1
解决办法
8890
查看次数

查询Active Directory/LDAP,查找嵌套组织单位中的用户

我正在 Windows 域 (Active Directory) 中的 TeamCity 7.1.2 中配置 LDAP 身份验证。

基本上它可以工作(我可以使用我的域用户登录!),但是整个公司的每个用户都可以登录。
--> 现在我试图仅限制开发人员的访问权限。

我在 TeamCity 文档中找到了这个示例:

# filtering only users with specified name and belonging to LDAP group "Group1" with DN "CN=Group1,CN=Users,DC=example,DC=com"
teamcity.users.login.filter=(&(sAMAccountName=$capturedLogin$)(memberOf=CN=Group1,CN=Users,DC=example,DC=com))
Run Code Online (Sandbox Code Playgroud)

所以我只需要替换CN=Group1,CN=Users,DC=example,DC=com为我的用户所在的 LDAP 组。
但查询 LDAP 对我来说是全新的,所以我无法找出正确的语法。

我的用户在这里:

活动目录屏幕截图

所以就是:

CompanyName.de/CompanyName/IT/Entwickler/
Run Code Online (Sandbox Code Playgroud)

“CompanyName”、“IT”和“Entwickler”是组织单位。
我理解语法是:

OU=Entwickler,OU=IT,OU=CompanyName,DC=CompanyName,DC=de
Run Code Online (Sandbox Code Playgroud)

当我将其放入 TeamCity 的配置文件中时,我无法登录,TeamCity 会将其写入其日志文件:

在 LDAP 中搜索:base='DC=CompanyName,DC=de', filter='(&(sAMAccountName=MyUser)(memberOf=OU=Entwickler,OU=IT,OU=CompanyName,DC=CompanyName,DC=de)) ',scope=2,attributes=[sAMAccountName,distinguishedName] 导致错误

和:

用户“MyUser”登录失败:javax.security.auth.login.LoginException:[LDAP:错误代码 32 - 0000208D:NameErr:DSID-031001CD,问题 2001 (NO_OBJECT),数据 0,最佳匹配:'DC=CompanyName ,DC=de'

我究竟做错了什么?

注意:我的查询
可能正确的,这是 TeamCity 中的一个问题。
(我使用的版本确实存在一些有关 LDAP …

teamcity ldap active-directory ldap-query teamcity-7.0

5
推荐指数
1
解决办法
3万
查看次数

排除计算机的LDAP查询

我从未做过任何DAP/AD管理员或查询.现在,我有一个任务,我需要在公司的AD中获得所有USERS; 但不断在查询结果中获取计算机.我使用objectClass = user并仍然获取AD中的所有计算机.我还缺少什么?有没有办法说"objectClass = user而不是objectClass = Computer"?谢谢!

ldap ldap-query

5
推荐指数
1
解决办法
7830
查看次数

LDAP 过滤器 - 查找特定 OU 的所有用户

我在使用LDAP Search Filter. 我需要检索的是特定LDAP组的所有用户OU=Staff,OU=Users,OU=Accounts,DC=test,DC=local

我的搜索是:

(&(objectCategory=user)(OU=Staff,OU=Users,OU=Accounts,DC=test,DC=local))
Run Code Online (Sandbox Code Playgroud)

目前它没有返回任何结果。我错过了什么?

php ldap active-directory ldap-query

5
推荐指数
1
解决办法
5万
查看次数

使用 goLang 进行 LDAP 身份验证

我正在尝试使用 goLang 对 LDAP 服务器进行身份验证,同时还尝试搜索用户。我是 goLang 和 LDAP 的新手,所以我提取了 GitHub 代码。在尝试使用以下代码时,我在身份验证中遇到错误

func ExampleLDAPClient_Authenticate() {
    client := &ldap.LDAPClient{
        Base:         "cn=admin,dc=testing,dc=io",
        Host:         "52.51.245.219",
        Port:         389,
        UseSSL:       false,
        BindDN:       "cn=admin,dc=testing,dc=io",
        BindPassword: "test123",
        UserFilter:   "(uid='*api*')",
        // GroupFilter:  "(memberUid=%s)",
        Attributes: []string{"givenName", "sn", "mail", "uid"},
    }
    defer client.Close()
    username := "cn=admin,dc=testing,dc=io"
    password := "test123"
    ok, user, err := client.Authenticate(username, password)
    if err != nil {
        log.Fatalf("Error authenticating user %s: %+v", "*cn=admin,dc=testing,dc=io*", err)
    }
    if !ok {
        log.Fatalf("Authenticating failed for user %s", "*cn=admin,dc=testing,dc=io*")
    }
    log.Printf("User: %+v", user) …
Run Code Online (Sandbox Code Playgroud)

ldap go openldap ldap-query

5
推荐指数
1
解决办法
1980
查看次数

如何使用php获取ldap树结构?

ou's我有一个包含和的用户的活动目录记录subou's。我想得到AD的整个树形结构。

例如,

- Group A
    - Sub Group a1
    - Sub Group a2
 - Group B
    - Sub Group b1
    - Sub Group b2
 - Group C
    - Sub Group c1
    - Sub Group c2
Run Code Online (Sandbox Code Playgroud)

我有一份所有ou's和的清单subou's。但我希望它像上面的例子一样结构。

我的代码:

$ldap_base_dn = 'DC=example,DC=com'; 
$filter="(objectClass=organizationalunit)";
$arr= array("dn", "ou");
$sr=ldap_search($ldap_connection, $ldap_base_dn, $filter, $arr);
$info = ldap_get_entries($ldap_connection, $sr);
for ($i=0; $i < $info["count"]; $i++) {
  echo $info[$i]["dn"]."<br>";
} 
Run Code Online (Sandbox Code Playgroud)

php ldap active-directory openldap ldap-query

5
推荐指数
0
解决办法
1750
查看次数