簡體   English   中英

LDAP子查詢以從CN獲取SamAccountName

[英]LDAP Sub Query to fetch SamAccountName from CN

目前,我有如下所述的查詢,該查詢返回所有用戶,但是每個用戶都有一個稱為manager的參數,該參數返回

"CN=Peder Ellingsen,OU=Users,OU=NO,OU=Countries,DC=xds,DC=xxx,DC=com"

需要samAccountName而不是上面的CN,需要LDAP子查詢的幫助,可以通過修改下面提到的查詢來幫助我直接獲取samAccountName

希望避免僅獲取samAccountName對LDAP服務器造成雙重打擊。

(&(objectCategory=person)(objectClass=user)(memberof=cn=MyCompass_NO,OU=Groups,OU=Common,OU=Applications,DC=xds,DC=xxx,DC=com))

假設您的過濾器就是您上面編寫的,請嘗試以下操作

  (&(objectCategory=person)(objectClass=user)(sAMAccountName=*)(memberof=cn=MyCompass_NO,OU=Groups,OU=Common,OU=Applications,DC=xds,DC=xxx,DC=com))

這將使第一個參數為SamAccountName = username

如果您只想打印Samaccountname,請使用此

    Attributes attrs = result.getAttributes();
    Attribute attr = attrs.get(sAMAccountName);
    if(attr!=null)
    {
    NamingEnumeration e = attr.getAll();

    while (e.hasMore()) {
        String value = (String) e.next();
        System.out.println(value);
    }}

如果要列出所有Samaccount名稱,請使用此名稱

 (&(objectCategory=person)(sAMAccountName=*)) 

按您想要的內容進行過濾,並獲得sAMAccountName,這是我在服務器中所做的工作:

ldapsearch -h host -p port -b dc=organization.com -W -D cn=admin,dc=organization.com '(&(objectclass=person)(uid=someuid))' sAMAccountName

有趣的部分是過濾器

'(&(objectclass=person)(uid=someuid))' sAMAccountName

您可以在其中按objectclass和uid進行過濾,並獲取sAMAccountName屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM