SharePoint 2013中People Picker按照AD裏的屬性搜索

SharePoint在2013裏極大的簡化了people picker,沒有check按鈕,也沒有了browse 按鈕,而是在用戶輸入後自動提示結果。那麼你有沒有想問過,SharePoint去AD裏查的時候,是查找的什麼屬性呢?
這裏寫圖片描述
通過一番查找,發現SharePoint 2013是通過如下的LDAP filter查詢的:

(&(objectCategory=person)(|(anr=adam*)(SamAccountName=adam*)))

(&(objectCategory=group)(BIT_AND:
(groupType)&2147483648)(|(anr=adam*)(SamAccountName=adam*)))

http://technet.microsoft.com/en-us/library/cc978014.aspx 中介紹到, ANR 的全稱是 Ambiguous Name Resolution,是一些屬性的集合。默認情況下,包含:

• givenName (first name)
• sn (surname, or last name)
• displayName (the name given the object when it is created)
• RDN (the relative distinguished name of the object)
• legacyExchangeDN
• physicalDeliveryOfficeName
• proxyAddresses

當用戶在people picker的輸入框裏,輸入字符串之後,SharePoint就去這些屬性裏找匹配項。

如果想要支持搜索其他AD屬性,可以手動做設置。比如我希望搜索所有title是manager的人,步驟如下:

  1. 打開域控制器的機器, RUN “REGSVR32 SCHMMGMT.DLL”命令,這個是爲了註冊 Active Directory Schema Snap-in
  2. 打開 MMC,File > Add/Remove Snapin,加載Active Directory Schema MMC
    這裏寫圖片描述
  3. 展開Active Directory Schema,在Attributes裏找到Title這個是屬性,雙擊。
  4. 選中’Index this attribute‘ 和’Ambiguous Name Resolution (ANR)’ ,點擊Apply,然後點OK
    這裏寫圖片描述

這個不是立即生效的,需要等幾分鐘,AD索引這些屬性需要一點時間。
然後你就可以使用其他的屬性值來搜索用戶了。

比如張三是Manger:
這裏寫圖片描述

輸入manager時候,就會搜索出張三。
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章