Exchange Management Shell 與 Exchange Online PowerShelll 中的 cmdlets 支援接收者相關 cmdlet 中不同類型的過濾器:
- 預製濾芯。
- 使用 RecipientFilter 參數自訂篩選器。
- 使用濾 波器 參數的自訂濾波器。
- 使用 ContentFilter 參數的自訂過濾器。
舊版 Exchange 使用 LDAP 過濾語法來建立自訂地址列表、全域地址列表 (GAL) 、電子郵件地址政策及分發群組。 OPATH 過濾語法自 Exchange Server 2007 起取代了 LDAP 過濾語法。
預製濾鏡
預先預設過濾器利用 Exchange 中流行的屬性來篩選動態分發群組、電子郵件地址政策、地址清單或 GAL 的收件人。 使用預設過濾器時,你可以使用 Exchange PowerShell 或 Exchange 管理中心 (EAC) 。 使用預先預製過濾器,你可以完成以下任務:
- 確定受助者的範圍。
- 根據公司、部門、州或地區等常見屬性加入條件篩選。
- 為收件人新增自訂屬性。 欲了解更多資訊,請參閱 自訂屬性。
以下參數被視為預先罐裝過濾器:
- 收錄得獎者
- 有條件公司
- 條件部門
- 條件州或省
- ConditionalCustomAttribute1 到 ConditionalCustomAttribute15.
預先預製過濾器可在以下指令清單中取得:
預製濾波器範例
此範例描述在 Exchange Management Shell 中使用預先預設的過濾器來建立動態分發群組。 這個範例中的語法與建立電子郵件地址政策、地址清單或 GAL 的語法相似但不完全相同。 在製作預先罐頭過濾器時,你應該問以下幾個問題:
你想從哪個組織單位 (OU) (RecipientContainer 參數) 包含收件人?
注意事項
選擇 OU 僅適用於建立動態分發群組,而不適用於建立電子郵件地址政策、地址清單或 GAL。
你想在 IncludedRecipients 參數) 包含哪些類型的收件人 (?
你想在篩選器中包含哪些額外條件, (條件 公司、 條件部門、條件州 或省份和 條件自訂屬性 參數) ?
此範例可建立一個具有以下性質的動態分布群:
- 名稱:Contoso Finance。
- 收件人類型:使用者信箱。
- 收件人地點:奧克拉荷馬大學命名 Contoso.com/Users。
- 濾鏡 僅包含 部門屬性定義 為財務、 公司屬性定義 為Contoso的收件人。
New-DynamicDistributionGroup -Name "Contoso Finance" -OrganizationalUnit Contoso.com/Users -RecipientContainer Contoso.com/Users -IncludedRecipients MailboxUsers -ConditionalDepartment "Finance" -ConditionalCompany "Contoso"
此範例展示了此新動態分布群的性質。
Get-DynamicDistributionGroup -Identity "Contoso Finance" | Format-List Recipient*,Included*
使用 RecipientFilter 參數的自訂過濾器
如果預設過濾器不符合你的需求,你可以使用 RecipientFilter 參數來建立自訂過濾器。 此參數可在以下指令列中取得:
關於可搭配 RecipientFilter 參數的可過濾屬性的更多資訊,請參閱 RecipientFilter 參數的可篩選屬性。
自訂濾波器範例
以下範例使用 RecipientFilter 參數來建立動態分配群組。 這個範例中的語法與你建立電子郵件地址政策、地址清單或 GAL 時使用的語法相似但不完全相同。
此範例使用自訂過濾器建立具有以下特性的動態分布群組:
- 名稱:AllContosoNorth。
- 收件人類型:使用者信箱。
- 收件人地點:奧克拉荷馬大學命名 Contoso.com/Users。
- 濾鏡 僅包含 公司屬性定義 為 Contoso 及 辦公室屬性定義 為北棟的收件人。
New-DynamicDistributionGroup -Name AllContosoNorth -OrganizationalUnit contoso.com/Users -RecipientFilter "((RecipientTypeDetails -eq 'UserMailbox') -and (Company -eq 'Contoso') -and (Office -eq 'North Building'))"
使用濾波器參數的自訂濾波器
你可以使用 Filter 參數來篩選指令的結果,指定要擷取哪些物件。 例如,你可以用篩選字串指定一組使用者或群組,而不是取得所有使用者或群組。 這種過濾器不會修改任何物件的設定或屬性。 它只會修改指令回傳的物件集合。
使用 過濾 參數修改指令結果稱為 伺服器端過濾。 伺服器端過濾會將指令與過濾器提交給伺服器進行處理。 我們也支援用戶端過濾,指令會從伺服器擷取所有物件,然後在本地主控台視窗套用篩選。 若要執行用戶端過濾,請使用 Where-Object 指令檔。 欲了解更多關於伺服器端與用戶端過濾的資訊,請參閱《如何篩選資料》一節的「如何過濾資料」一節,收錄於 「與指令輸出合作」。
要找到帶有 Filter 參數的 cmdlet 可篩選屬性,你可以對物件執行 Get 指令,並透過 Format-List 參數的管線來格式化輸出。 大多數回傳的值可用於 濾波器 參數。
以下範例回傳信箱 Ayla 的詳細清單。
Get-Mailbox -Identity Ayla | Format-List
Filter 參數可用於以下接收指令(cmdlet):
- Get-CASMailbox
- Get-Contact
- Get-DistributionGroup
- Get-DynamicDistributionGroup
- Get-Group
- Get-Mailbox
- Get-MailContact
- Get-MailPublicFolder
- Get-MailUser
- Get-Recipient
- 取得遠端郵箱
- Get-SecurityPrincipal
- Get-UMMailbox
- Get-User
- Get-UnifiedGroup
關於你可以搭配濾 波 器參數使用的可過濾屬性的更多資訊,請參見「 可過濾屬性」。
濾波參數範例
此範例使用 Filter 參數來回傳標題中包含「manager」一詞的使用者資訊。
Get-User -Filter "Title -like 'Manager*'"
使用 ContentFilter 參數的自訂過濾器
你可以使用 ContentFilter 參數,在使用 New-MailboxExportRequest 指令檔時選擇特定訊息內容匯出。 如果指令找到包含內容篩選器匹配的訊息,就會將該訊息匯出成 .pst 檔案。
ContentFilter 參數範例
此範例會產生一個匯出請求,搜尋 Ayla 的信箱中包含「公司招股說明書」字樣的郵件。如果找到該片語,指令會將所有包含該片語的訊息匯出成 .pst 檔案。
New-MailboxExportRequest -Mailbox Ayla -ContentFilter "Body -like 'company prospectus*'"
關於你可以搭配 ContentFilter 參數使用的可過濾屬性的更多資訊,請參見 ContentFilter 參數的可過濾屬性。
OPATH 語法的額外資訊
在建立自訂 OPATH 濾鏡時,請考慮以下事項:
請使用以下語法來辨識你正在搜尋的值類型:
文字值:例如用單引號包圍文字, (
'Value'或'Value with spaces') 。 或者,你可以用雙引號包住文字值,但這會限制你能用來包圍整個 OPATH 濾波器的字元。變數:將需要展開的變數包圍在單引號中, (例如)
'$User'。 如果變數值本身包含單引號,你需要 (找出) 單引號的逃逸點,才能正確展開變數。 例如,使用'$($User -Replace "'","''")',而不是'$User'。整數值:例如
500,) 不需要包圍整數 (。 你常常可以用單引號或雙引號包住整數,但這會限制你能用來包圍整個 OPATH 濾波器的字元。系統值:不要將系統值 (
$true例如、、$false、$null) 。 要用雙引號包圍整個 OPATH 濾波器,例如,你需要在系統值 (`$true跳脫美元符號,例如) 。
你需要用雙引號「」或單引號「」包住整個 OPATH 濾波器。 雖然任何 OPATH 濾波器物件技術上都是字串而非腳本區塊,但你仍可以使用大括號 { },但前提是該濾波器不包含需要擴充的變數。 你能用來包圍整個 OPATH 濾波器的字元,取決於你搜尋的值類型,以及你用 (或沒用) 來包圍這些值的字元:
文字值:取決於你如何包圍文字以搜尋:
- 單引號內的文字:將整個 OPATH 濾波器以雙引號或大括號包圍。
- 雙引號內的文字:請將整個 OPATH 濾鏡用大括號包圍。
變數:將整個 OPATH 濾波器以雙引號包圍, (
"Name -eq '$User'"例如) 。整數值:為確保它們在所有情況下都能運作,請以以下其中一種方式包圍:
- 整數以單引號包圍:將整個 OPATH 濾波器包圍在雙引號或大括號
"CountryCode -eq '840'"中。 - 整數以雙引號包圍:將整個 OPATH 濾波器包圍起來, (例如
{CountryCode -eq "840"}) 。
- 整數以單引號包圍:將整個 OPATH 濾波器包圍在雙引號或大括號
系統值:將整個 OPATH 濾波器包圍在單引號或大括號中, (例如
'HiddenFromAddressListsEnabled -eq $true') 。 如果你跳脫美元符號系統的值,也可以用雙引號包圍整個 OPATH 濾波器,例如 ("HiddenFromAddressListsEnabled -eq `$true") 。
搜尋條件的相容性以及可用來包圍整個 OPATH 濾波器的有效字元,總結如下表:
搜尋值 OPATH 濾波器
包含於
雙引號OPATH 濾波器
包含於
單引號OPATH濾波器被包裹於
牙套'Text'✔ ✔ "Text"✔ '$Variable'✔ 500✔ ✔ ✔ '500'✔ ✔ "500"✔ $true✔ ✔ `$true✔ ✔ ✔ 在所有邏輯或比較運算元前加上連字號。 最常見的運算元包括:
-and-or-not-
-eq(等於) -
-ne(不平等) -
-lt(不到) -
-gt(比) 還要偉大 -
-like(弦比對) -
-notlike(弦比對)
許多可篩選屬性接受通配字元。 如果您使用萬用字元,請使用 -like 運算子,而不要使用 -eq 運算子。 使用 -類 運算子在富型態中尋找模式匹配,例如字串 () 。 使用 -eq 運算子找到完全吻合的。
當你在 Exchange Online PowerShell 中使用類似 -like 運算子時,通配字元僅在大多數參數中作為後綴被支援。 例如,
"Department -like 'sales*'"是允許的,但"Department -like '*sales'"又不允許。提示
即使 Exchange Online PowerShell 的過濾參數中通配符可用,我們也不建議使用,因為效能問題。
欲了解更多可用運算元的資訊,請參閱:
收件人過濾器文件
以下表格包含文章連結,幫助您更了解可搭配 Exchange 接收指令的可篩選屬性。
| 文章 | 描述 |
|---|---|
| Exchange 指令檔中 RecipientFilter 參數的可過濾屬性 | 了解更多關於 RecipientFilter 參數可用的可篩選屬性。 |
| Exchange 指令匣中 Filter 參數的可過濾屬性 | 了解更多關於 Filter 參數可用的可過濾屬性。 |
| Exchange Online PowerShell 模組中的篩選器 | 了解 Exchange Online PowerShell 模組中九個獨家 Get-EXO* 指令匣中篩選器的考量。 |