Exchange 管理命令介面和 Exchange Online PowerShell 中的 Cmdlet 在收件者相關 Cmdlet 中支援不同類型的篩選:
- 預先儲存的篩選。
- 使用 RecipientFilter 參數的自訂篩選。
- 使用 Filter 參數的自訂篩選。
- 使用 ContentFilter 參數的自訂篩選。
舊版 Exchange 使用 LDAP 篩選語法來建立自訂通訊清單、全域通訊清單 (GAL) 、電子郵件地址原則,以及通訊群組。 從 Exchange Server 2007 開始,OPATH 篩選語法已取代 LDAP 篩選語法。
預先儲存篩選
預先儲存篩選使用 Exchange 中的常用屬性,篩選動態通訊群組、電子郵件地址原則、通訊清單或 GAL 的收件者。 有了預先設定的篩選,您就可以使用 Exchange PowerShell 或 Exchange 系統管理中心 (EAC) 。 使用預先儲存的篩選,您可以執行下列工作:
- 決定收件者的範圍。
- 根據常見屬性,例如公司、部門和州/地區等新增條件式篩選。
- 新增收件者的自訂屬性。 如需詳細資訊,請參閱 自訂屬性。
下列參數被視為預先儲存篩選:
- IncludedRecipients
- ConditionalCompany
- ConditionalDepartment
- ConditionalStateOrProvince
- ConditionalCustomAttribute1 變更為 ConditionalCustomAttribute15。
下列 cmdlet 提供預先儲存篩選條件:
預先儲存篩選範例
此範例說明如何在 Exchange 管理命令介面中使用預先儲存篩選來建立動態通訊群組。 此範例中的語法與您將用來建立電子郵件地址原則、通訊清單或 GAL 的語法相似,但並不完全相同。 建立預先儲存篩選時,您應該詢問下列問題:
您想要從哪個組織單位 (OU) 包含收件者 (RecipientContainer 參數) ?
注意事項
為此目的選取 OU 僅適用於建立動態通訊群組,不適用於建立電子郵件地址原則、通訊清單或 GAL。
您想要在 IncludedRecipients 參數) (包含哪些類型的收件者?
您想要在 篩選 (ConditionalCompany、 ConditionalDepartment、 ConditionalStateOrProvince 和 ConditionalCustomAttribute 參數) 包含哪些額外條件?
本範例建立具有下列屬性的動態通訊群組:
- 名稱:Contoso 財務。
- 收件者類型:使用者信箱。
- 收件者位置:OU 名稱為 Contoso.com/Users。
- 篩選器 僅包括 Department 屬性定義為 Finance 且 Company 屬性定義為 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 參數來建立自訂篩選。 此參數可在下列 cmdlet 上使用:
如需可與 RecipientFilter 參數搭配使用的可篩選屬性的詳細資訊,請參閱 RecipientFilter 參數的可篩選屬性。
自訂篩選範例
下列範例使用 RecipientFilter 參數來建立動態通訊群組。 此範例中的語法與您用來建立電子郵件地址原則、通訊清單或 GAL 的語法相似,但並不完全相同。
此範例使用自訂篩選來建立具有下列屬性的動態通訊群組:
- 名稱:AllContosoNorth。
- 收件者類型:使用者信箱。
- 收件者位置:OU 名稱為 Contoso.com/Users。
- 篩選器 僅包括 公司 屬性定義為 Contoso 且 Office 屬性定義為 North Building 的收件者。
New-DynamicDistributionGroup -Name AllContosoNorth -OrganizationalUnit contoso.com/Users -RecipientFilter "((RecipientTypeDetails -eq 'UserMailbox') -and (Company -eq 'Contoso') -and (Office -eq 'North Building'))"
使用 Filter 參數的自訂篩選
您可以使用 Filter 參數來篩選命令的結果,以指定要擷取的物件。 例如,您可以使用篩選字串指定一組使用者或群組,而不是擷取所有使用者或群組。 此類型的篩選不會修改物件的任何設定或屬性。 它只會修改命令傳回的物件集。
使用 Filter 參數來修改命令結果稱為 伺服器端篩選。 伺服器端篩選會將命令和篩選提交至伺服器進行處理。 我們也支援用戶端篩選,其中命令會從伺服器擷取所有物件,然後在本機主控台視窗中套用篩選。 若要執行用戶端篩選,請使用 Where-Object Cmdlet。 有關伺服器端和用戶端篩選的詳細資訊,請參閱 使用命令輸出中的「如何篩選資料」。
若要尋找具有 Filter 參數之 Cmdlet 的可篩選屬性,您可以針對物件執行 Get 命令,並透過管線處理 Format-List 參數來格式化輸出。 大部分的傳回值都可用於 Filter 參數。
下列範例會傳回信箱 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-RemoteMailbox
- Get-SecurityPrincipal
- Get-UMMailbox
- Get-User
- Get-UnifiedGroup
如需可與 Filter 參數搭配使用的可篩選屬性的詳細資訊,請參閱 Filter 參數的可篩選屬性。
篩選參數範例
此範例使用 Filter 參數來傳回標題中含有「經理」一詞之使用者的相關資訊。
Get-User -Filter "Title -like 'Manager*'"
使用 ContentFilter 參數的自訂篩選
使用 New-MailboxExportRequest Cmdlet 時,您可以使用 ContentFilter 參數來選取要匯出的特定郵件內容。 如果命令找到包含與內容篩選相符的訊息,它會將該訊息匯出至 .pst 檔案。
ContentFilter 參數範例
此範例會建立匯出要求,以搜尋 Ayla 的信箱中內文包含 “company prospectus” 一詞的郵件。如果找到該片語,命令會將含有該片語的所有郵件匯出至 .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 篩選的字元。系統值:請勿 (例如 、 或
$false$null) 等$true括住系統值。 若要以雙引號括住整個 OPATH 篩選,您必須逸出美元符號系統值 (`$true例如) 。
您需要用雙引號 “ ” 或單引號 ' ' 括住整個 OPATH 篩選。 雖然從技術上講,任何 OPATH 篩選物件都是字串而非指令碼區塊,您仍然可以使用括弧 { },但前提是篩選不包含需要擴充的變數。 您可以用來括住整個 OPATH 篩選的字元,取決於您要搜尋的值類型,以及您用來 (或沒有用) 括住這些值的字元:
文字值:取決於您如何括住要搜尋的文字:
- 以單引號括住的文字:以雙引號或括弧括住整個 OPATH 篩選器。
- 以雙引號括住的文字:以括弧括住整個 OPATH 篩選器。
變數:以雙引號括住整個 OPATH 篩選 (
"Name -eq '$User'"例如) 。整數值:若要確保它們在所有情況下都正常運作,請使用下列其中一種方式將它們括住:
- 以單引號括住的整數:以雙引號或括弧
"CountryCode -eq '840'"括住整個 OPATH 篩選器。 - 以雙引號括住的整數:將整個 OPATH 篩選器括在括弧中 (
{CountryCode -eq "840"}例如) 。
- 以單引號括住的整數:以雙引號或括弧
系統值:以單引號或括弧括住整個 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 運算子。 使用 -like 運算子來尋找豐富類型中的模式比對 (例如字串) 。 使用 -eq 運算子來尋找完全相符的項目。
當您在 Exchange Online PowerShell 中使用 -like 運算子時,在大多數參數中僅支援萬用字元做為尾碼。 例如,
"Department -like 'sales*'"是允許,但"Department -like '*sales'"不允許。提示
即使萬用字元首碼在 Exchange Online PowerShell 的篩選參數中運作,我們也不建議使用它,因為效能問題低。
如需有關您可以使用的運算子詳細資訊,請參閱:
收件者篩選文件
下表包含文章連結,協助您深入瞭解可與 Exchange 收件者命令搭配使用的可篩選屬性。
| 文章 | 描述 |
|---|---|
| Exchange cmdlet 上 RecipientFilter 參數的可篩選屬性 | 深入了解適用於 RecipientFilter 參數的可篩選屬性。 |
| Exchange cmdlet 上篩選參數的可篩選屬性 | 深入了解適用於 Filter 參數的可篩選屬性。 |
| Exchange Online PowerShell 模組中的篩選條件 | 瞭解 Exchange Online PowerShell 模組中九個獨佔的 Get-EXO* Cmdlet 篩選條件的考量。 |