2014年5月5日 星期一

使用 DirectorySearcher 進行 LDAP 的查詢

使用 DirectorySearcher 進行 LDAP 的查詢時,希望能過濾掉被Disable的,還有非使用者的共用帳號,或者代表帳號,所以希望把缺少FirstName, LastName 以及密碼永遠不需修改的帳號都過濾掉.

以下是使用的查詢字串:

(&(objectClass=user)(objectCategory=person)(!userAccountControl:1.2.840.113556.1.4.803:=2)(!displayName=*mailbox*)(!displayName=*admin*)(!displayName=*GUEST*)(givenName=*)(!displayName=*Account*)(!displayName=*Room*)(!userAccountControl:1.2.840.113556.1.4.803:=65536))

除掉被Disable的使用者(!userAccountControl:1.2.840.113556.1.4.803:=2)
除掉密碼永遠不過期的(!userAccountControl:1.2.840.113556.1.4.803:=65536)

另外,由於查詢結果只到1000,要擴大必須要改PageSize?

                searcher.PageSize = 4500;

沒有留言: