Firewall

梭子魚的 LDAP 查詢

  • December 11, 2009

我有一個前幾天剛安裝的梭子魚垃圾郵件防火牆 300。我正在處理一個 LDAP 查詢,以便將它與我的交換伺服器一起使用。到目前為止我所擁有的是:

(&
(!userAccountControl:1.2.840.113556.1.4.803:=2)
(|
   (sAMAccountName=${recipient_local_part})
   (othermailbox=smtp:${recipient_local_part}@ourdomain.com)
   (proxyaddresses=smtp:${recipient_local_part}@ourdomain.com)
   (mail=${recipient_email})
   (userPrincipalName=${recipient_local_part})
)
)

為了您的方便,我已經對其進行了格式化。我想要做的是過濾掉在目錄中被禁用的使用者,因為他們可能有有效的地址,但我不想再為他們接受郵件了。我們將他們的電子郵件地址保留很長時間,但公司政策禁止我將其從目錄中刪除。

當查詢執行時,我收到以下錯誤:

failed to issue LDAP find operation: Bad search filter

該查詢在沒有 (!userAccountControl:1.2.840.113556.1.4.803:=2) 的情況下工作,但這是過濾掉禁用帳戶的行。

如何使用 LDAP 有效地過濾掉禁用的帳戶?

我很難測試這個,但我認為你需要括號來分組 !useraccountcontrol 和 or 塊。

(&
(
 (!userAccountControl:1.2.840.113556.1.4.803:=2)
 (|
       (sAMAccountName=${recipient_local_part})
       (othermailbox=smtp:${recipient_local_part}@ourdomain.com)
       (proxyaddresses=smtp:${recipient_local_part}@ourdomain.com)
       (mail=${recipient_email})
       (userPrincipalName=${recipient_local_part})
 )
)
)

你為什麼要檢查這麼多選項?proxyAddresses 部分應該綽綽有餘:

(& (!userAccountControl:1.2.840.113556.1.4.803:=2)

(proxyaddresses=smtp:${recipient_local_part}@ourdomain.com) )

謝謝,

布賴恩戴斯蒙德

活動目錄 MVP

引用自:https://serverfault.com/questions/54442