Exchange Online PowerShell 命令中的收件者篩選

Exchange 管理命令接口和Exchange Online PowerShelll 中的 Cmdlet 支援收件者相關 Cmdlet 中不同類型的篩選:

  • 預先掃描的篩選準則。
  • 使用 RecipientFilter 參數的自訂篩選。
  • 使用 Filter 參數的自訂 篩選
  • 使用 ContentFilter 參數的自訂篩選。

舊版 Exchange 使用 LDAP 篩選語法來建立自訂通訊清單、全域通訊清單 (GAL) 、電子郵件地址原則和通訊群組。 從 2007 年 Exchange Server 開始,OPATH 篩選語法已取代 LDAP 篩選語法。

預先掃描的篩選

預先掃描的篩選準則會使用 Exchange 中的熱門屬性來篩選動態通訊群組、電子郵件地址原則、通訊清單或 GAL 的收件者。 透過預先掃描的篩選,您可以使用 Exchange PowerShell 或 Exchange 系統管理中心 (EAC) 。 使用預先掃描的篩選,您可以執行下列工作:

  • 決定收件者的範圍。
  • 根據公司、部門和州或地區等一般屬性新增條件式篩選。
  • 新增收件者的自訂屬性。 如需詳細資訊,請參閱 自訂屬性

下列參數會被視為預先掃描的篩選準則:

  • IncludedRecipients
  • ConditionalCompany
  • ConditionalDepartment
  • ConditionalStateOrProvince
  • ConditionalCustomAttribute1ConditionalCustomAttribute15

預先掃描的篩選準則可在下列 Cmdlet 上使用:

預先掃描的篩選範例

此範例描述如何在 Exchange 管理命令介面中使用預先掃描的篩選來建立動態通訊群組。 此範例中的語法類似,但與您用來建立電子郵件地址原則、地址清單或 GAL 的語法不同。 建立預先掃描的篩選準則時,您應該詢問下列問題:

  • 從哪個組織單位 (OU) 您要在 RecipientContainer 參數) (包含收件者?

    注意事項

    選取此用途的 OU 僅適用于建立動態通訊群組,而不適用於建立電子郵件地址原則、通訊清單或 GAL。

  • 您想要包含哪些類型的收件者 (IncludedRecipients 參數) ?

  • 您想要在篩選準則中包含哪些其他條件 (ConditionalCompanyConditionalDepartmentConditionalStateOrProvinceConditionalCustomAttribute 參數) ?

此範例會建立具有下列屬性的動態通訊群組:

  • 名稱:Contoso Finance。
  • 收件者類型:使用者信箱。
  • 收件者位置:名為 Contoso.com/Users 的 OU。
  • 過濾 器 僅包含已將 Department 屬性定義為 Finance 的收件者,以及定義為 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。
  • 收件者類型:使用者信箱。
  • 收件者位置:名為 Contoso.com/Users 的 OU。
  • 過濾 器 只包含已將 公司 屬性定義為 Contoso 的收件者,以及定義為 North Building 的 Office 屬性。
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:

如需您可以搭配 Filter 參數使用之可篩選屬性的詳細資訊,請參閱 Filter 參數的可篩選屬性

篩選參數範例

此範例會使用 Filter 參數傳回標題包含 「manager」 一字之使用者的相關資訊。

Get-User -Filter "Title -like 'Manager*'"

使用 ContentFilter 參數的自訂篩選

使用New-MailboxExportRequest Cmdlet 時,您可以使用ContentFilter參數來選取要匯出的特定郵件內容。 如果命令找到包含符合內容篩選準則的訊息,則會將訊息匯出至 .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" () 。
      • 以單引號括住的整數:以雙引號或大括弧 "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 參數的可篩選屬性 深入瞭解 Filter 參數可用 的可篩選屬性。
Exchange Online PowerShell 模組中的篩選 瞭解 Exchange Online PowerShell 模組中九個獨佔Get-EXO* Cmdlet 中篩選的考慮。