none
查詢AD,如何使用CanonicalName當做DirectorySearcher.Filter條件? RRS feed

  • 問題

  • Dear All :

    目前寫查詢AD的程式遇到困難,
    我想使用CanonicalName當做DirectorySearcher.Filter條件。

    使用了 directorySearcher.Filter = @"(canonicalName=e12.com\AAA)";
    當作搜尋字串。
    可是都出現錯誤訊息,「不適當的對應。」

    我想應該是,因為CanonicalName不是IsSingleValued。


    有人有寫過這樣Filter字串格式,可以交流一下嗎。 ^^"


    學無止境
    2010年1月4日 上午 09:27

解答

  • 正因LDAP 查詢很不方便.
    若是為VS 2008以上,可以直接使用下面的Library透過LINQ來處理簡單許多
    http://msdn.microsoft.com/zh-tw/ee853258.aspx
    • 已標示為解答 昏睡Clark 2010年1月5日 上午 05:20
    2010年1月4日 上午 09:31
  • 我試過幾個 attribute,只要是 constructed attribute 都不能直接下在 LDAP filter ...
    初學不是問題,但用不正確的態度來問問題,那就是很大的問題。
    如果只會用 "看" 的學程式,那不如早點改行,以免誤己一生...
    若不想快點得到解答,可以儘量把問題寫模糊一點,愈模糊愈不會得到解答。
    除非不能打中文,否則請尊重當地語系的網友,使用中文發問或回答,這是一種基本禮貌。
    • 已標示為解答 昏睡Clark 2010年1月5日 上午 05:20
    2010年1月4日 上午 11:46
    版主

所有回覆

  • 正因LDAP 查詢很不方便.
    若是為VS 2008以上,可以直接使用下面的Library透過LINQ來處理簡單許多
    http://msdn.microsoft.com/zh-tw/ee853258.aspx
    • 已標示為解答 昏睡Clark 2010年1月5日 上午 05:20
    2010年1月4日 上午 09:31
  • 呵呵,先感謝您的回覆阿。
    LINQ的確是可以簡化很多的工作阿!

    但是因為整個系統已經是快完工的階段,懶的去整層抽換掉 XD。

    所以才想問問看,是不是有解決方案可以直接從LDAP去做修改 ^^"
    學無止境
    2010年1月4日 上午 11:27
  • 我試過幾個 attribute,只要是 constructed attribute 都不能直接下在 LDAP filter ...
    初學不是問題,但用不正確的態度來問問題,那就是很大的問題。
    如果只會用 "看" 的學程式,那不如早點改行,以免誤己一生...
    若不想快點得到解答,可以儘量把問題寫模糊一點,愈模糊愈不會得到解答。
    除非不能打中文,否則請尊重當地語系的網友,使用中文發問或回答,這是一種基本禮貌。
    • 已標示為解答 昏睡Clark 2010年1月5日 上午 05:20
    2010年1月4日 上午 11:46
    版主
  • 看來一時之間是找不到解決方案了 ^^"


    目前的解法是 : 將所有目標都先搜尋出來,自己建立CanonicalName跟ADsPath的對應快取。
    學無止境
    2010年1月5日 上午 05:20