ldapsearch过滤器获取用户名列表

时间:2015-09-07 05:30:20

标签: recursion active-directory ldap

我在CentOS 6.6计算机上安装了Active Directory 2012服务器和openldap-client v2.4。

这是我的用户层次结构。

Syd-Users
   |
   |
   |-- SP Admins (a security group)
                |
                |
                |-- GU Admins  (a security group with multiple groups and users)
                |-- Vikas Kumar (a user)

我正在尝试进行递归搜索,以便所有"用户名"在特定的安全组织" SP Admins"可以递归列出。

# ldapsearch -x -h mydc.harris.syd -D "CN=Bind,OU=Syd-Users,DC=harris,DC=syd" -w 'password' -b "CN=SP Admins,OU=Syd-Users,DC=harris,DC=syd" -s sub "(&(objectClass=*))" | grep ^member
member: CN=GU Admins,OU=Syd-Users,DC=harris,DC=syd
member: CN=Vikas Kumar,OU=Aus,OU=Syd-Users,DC=harris,DC=syd
#

我尝试了一些像下面这样的过滤器是徒劳的。

(&(sAMAccountName=*)(memberof:1.2.840.113556.1.4.1941:=CN=SP Admins,OU=Syd-Users,DC=harris,DC=syd))
(&(objectClass=*)(sAMAccountName=*)(memberof:1.2.840.113556.1.4.1941:=CN=SP Admins,OU=Syd-Users,DC=harris,DC=syd))

1 个答案:

答案 0 :(得分:0)

陷入写作过滤器的人应该使用Active Directory Explorer。它不是非常用户友好,但对创建和测试过滤器非常有用。

我无法为递归搜索创建过滤器,但使用了另一个包含我想列出的所有用户的安全组。 This链接也有助于确定我需要的属性。

经过多次热播和试用后,我想出了以下过滤器,以获取已启用用户帐户的 sAMAccountName 列表。

.directive('shouldFocus', function () {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            scope.$watch(attrs.shouldFocus, function (newVal, oldVal) {
                if (newVal && element.prop("class").indexOf("active")) {
                    var par = element.parent("ul");
                    var scrollingTo = element.offset().top - par.offset().top + par.scrollTop();
                    // uncomment below section if you want the selected content to be 
                    // viewed at half the box height
                    // scrollingTo = scrollingTo - (par.height() / 2); 
                    par.scrollTop(scrollingTo);
                }
            });
        }
    }
})

希望这有助于某人。感谢。