Windows-Server-2008

強制動態分佈組欄位作為數值比較的opath語法?(交換 2010)

  • January 26, 2011

我正在將一個(工作)基於查詢的組 (Exchange 2003) 升級到一個新的“改進的”動態通訊組 (2010)。

無論好壞,我們公司決定將每個人的員工 ID 儲存在尋​​呼機欄位中,以便通過 ADUC 輕鬆操作。該員工人數具有重要意義,因為所有員工都在一定範圍內,而所有承包商都在非常不同的範圍內。

基本上,新的opath 語法似乎在我的尋呼機欄位上使用字元串比較,即使它是一個數字。假設我的員工 ID 是 3004,嗯,它是來自字元串檢查 POV 的“小於”4。

Set-DynamicDistributionGroup -Identity "my-funky-new-group" -RecipientFilter "(pager -lt 4) -and (pager -like '*') -and (RecipientType -eq 'UserMailbox')"

在 EMC 中顯示如下:

((((((Pager -lt '4') -and (Pager -ne $null))) -and (RecipientType -eq 'UserMailbox'))) -and (-not(Name -like 'SystemMailbox{*')) -and (-not(Name -like 'CAS_{*')) -and (-not(RecipientTypeDetailsValue -eq 'MailboxPlan')) -and (-not(RecipientTypeDetailsValue -eq 'DiscoveryMailbox')) -and (-not(RecipientTypeDetailsValue -eq 'ArbitrationMailbox')))

這個組應該有最多 3 名成員吧?不 - 由於字元串比較,我得到了很多。我出現了,我在 3000 範圍內。

**問題:**任何人都知道一個聰明的方法來強制這是一個整數檢查?

該組上的只讀 LDAP 過濾器看起來不錯,但當然不能對其進行編輯。

LDAP 表示(看 ma,4 上沒有引號!) - 同樣有趣的是,它有點用 (pager=4) 東西“填滿”床……

(&(pager<=4)(!(pager=4))(pager=*)(objectClass=user)(objectCategory=person)(mailNickname=*)(msExchHomeServerName=*)(!(name=SystemMailbox{*))(!(name=CAS_{*))!(msExchRecipientTypeDetails=16777216))(!(msExchRecipientTypeDetails=536870912))(!(msExchRecipientTypeDetails=8388608)))

如果沒有解決方案,我想我的辦法是找到一個實際上將被視為整數的未使用欄位,或者很可能每天早上用我自己的自動化工具用 powershell 建構這個列表 - 蹩腳。

我知道一些在opath過濾器之外解決這個問題的方法(在另一個領域指定“全職”等),但寧願交換做提升,因為這是目前的環境。

任何見解都會很棒-謝謝!

馬特

與微軟交談。

“你是正確的,為什麼它不能像電話號碼一樣工作的尋呼機是一個 Unicode 字元串,對於我們創建的過濾器正常工作它應該是一個大整數,關於可供使用者使用的大整數屬性的可悲部分是他們"

因此,目前,對於 Exchange 2010 SP1,您似乎無法與除了幾個關鍵系統屬性(IssueWarningQuota、MaxReceiveSize)之外的任何內容進行整數比較。其他所有內容都將被視為字元串比較。

支持人員建議的其他選項是希望它們位於相同的 Exchange 儲存、特定 OU 或其他一些標準中。由於這些在我們的環境中不起作用,我將不得不通過 Powershell 每晚建構這些 DL。

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