Filtros receptores em comandos Exchange PowerShell

Os cmdlets no Shell de Gerenciamento do Exchange e no PowerShell do Exchange Onlinel suportam diferentes tipos de filtros em cmdlets relacionados ao destinatário:

  • Filtros predefinidos.
  • Filtros personalizados usando o parâmetro RecipientFilter .
  • Filtros personalizados usando o parâmetro Filter .
  • Filtros personalizados usando o parâmetro ContentFilter .

Versões mais antigas do Exchange usavam a sintaxe de filtragem LDAP para criar listas de endereços personalizadas, listas de endereços globais (GALs), políticas de endereço de email e grupos de distribuição. A sintaxe de filtragem OPATH substituiu a sintaxe de filtragem LDAP a partir do Exchange Server 2007.

Filtros predefinidos

Um filtro predefinido usa propriedades populares no Exchange para filtrar destinatários por grupos dinâmicos de distribuição, políticas de endereço de email, listas de endereços ou GALs. Com filtros predefinidos, você pode usar o PowerShell do Exchange ou o EAC (centro de administração do Exchange). Usando filtros predefinidos, você pode realizar as seguintes tarefas:

  • Determine o escopo dos destinatários.
  • Adicione filtragem condicional com base em propriedades comuns, como empresa, departamento e estado ou região.
  • Adicionar atributos personalizados para destinatários. Para obter mais informações, consulte Custom Attributes.

Os seguintes parâmetros são considerados filtros predefinidos:

  • IncludedRecipients
  • ConditionalCompany
  • ConditionalDepartment
  • ConditionalStateOrProvince
  • ConditionalCustomAttribute1 a ConditionalCustomAttribute15.

Filtros predefinidos estão disponíveis nos seguintes cmdlets:

Exemplo de filtro predefinido

Este exemplo descreve o uso de filtros predefinidos no Shell de Gerenciamento do Exchange para criar um grupo dinâmico de distribuição. A sintaxe neste exemplo é semelhante, mas não idêntica, à sintaxe que você usaria para criar uma política de endereço de email, uma lista de endereços ou uma GAL. Ao criar um filtro predefinido, você deve fazer as seguintes perguntas:

  • De qual unidade organizacional (OU) você deseja incluir os destinatários (o parâmetro RecipientContainer )?

    Observação

    A seleção da UO para essa finalidade se aplica somente à criação de grupos dinâmicos de distribuição e não à criação de políticas de endereço de email, listas de endereços ou GALs.

  • Que tipos de destinatários você deseja incluir (o parâmetro IncludedRecipients )?

  • Quais condições adicionais você deseja incluir no filtro (os parâmetros ConditionalCompany, ConditionalDepartment, ConditionalStateOrProvince e ConditionalCustomAttribute )?

Este exemplo cria um grupo dinâmico de distribuição com as seguintes propriedades:

  • Nome: Contoso Finance.
  • Tipos de destinatário: caixas de correio de usuário.
  • Local do destinatário: a OU chamada Contoso.com/Users.
  • Filtros Inclua somente destinatários que tenham o atributo Departamento definido como Finanças e o atributo da Empresa definido como Contoso.
New-DynamicDistributionGroup -Name "Contoso Finance" -OrganizationalUnit Contoso.com/Users -RecipientContainer Contoso.com/Users -IncludedRecipients MailboxUsers -ConditionalDepartment "Finance" -ConditionalCompany "Contoso"

Este exemplo exibe as propriedades desse novo grupo dinâmico de distribuição.

Get-DynamicDistributionGroup -Identity "Contoso Finance" | Format-List Recipient*,Included*

Filtros personalizados usando o parâmetro RecipientFilter

Se os filtros predefinidos não atenderem às suas necessidades, você poderá criar filtros personalizados usando o parâmetro RecipientFilter . Esse parâmetro está disponível nos seguintes cmdlets:

Para obter mais informações sobre as propriedades filtráveis que você pode usar com o parâmetro RecipientFilter , consulte Propriedades filtráveis para o parâmetro RecipientFilter.

Exemplo de filtro personalizado

O exemplo a seguir usa o parâmetro RecipientFilter para criar um grupo dinâmico de distribuição. A sintaxe neste exemplo é semelhante, mas não idêntica, à sintaxe que você usa para criar uma política de endereço de email, uma lista de endereços ou uma GAL.

Este exemplo usa filtros personalizados para criar um grupo dinâmico de distribuição com as seguintes propriedades:

  • Nome: AllContosoNorth.
  • Tipos de destinatário: caixas de correio de usuário.
  • Local do destinatário: a OU chamada Contoso.com/Users.
  • Filtros Inclua somente destinatários que tenham o atributo Empresa definido como Contoso e o atributo Office definido como Edifício Norte.
New-DynamicDistributionGroup -Name AllContosoNorth -OrganizationalUnit contoso.com/Users -RecipientFilter "((RecipientTypeDetails -eq 'UserMailbox') -and (Company -eq 'Contoso') -and (Office -eq 'North Building'))"

Filtros personalizados usando o parâmetro Filter

Você pode usar o parâmetro Filter para filtrar os resultados de um comando para especificar quais objetos recuperar. Por exemplo, em vez de recuperar todos os usuários ou grupos, você pode especificar um conjunto de usuários ou grupos usando uma cadeia de filtro. Esse tipo de filtro não modifica nenhuma configuração ou atributos de objetos. Ele modifica apenas o conjunto de objetos retornados pelo comando.

O uso do parâmetro Filter para modificar os resultados do comando é conhecido como filtragem do lado do servidor. A filtragem do lado do servidor envia o comando e o filtro para o servidor para processamento. Também oferecemos suporte à filtragem do lado do cliente, na qual o comando recupera todos os objetos do servidor e aplica o filtro na janela do console local. Para executar a filtragem do lado do cliente, use o cmdlet Where-Object . Para obter mais informações sobre a filtragem do lado do servidor e do lado do cliente, consulte "Como filtrar dados" em Trabalhando com a saída do comando.

Para encontrar as propriedades filtráveis para cmdlets que têm o parâmetro Filter , você pode executar o comando Get em um objeto e formatar a saída canalizando o parâmetro Format-List . A maioria dos valores retornados está disponível para uso no parâmetro Filter .

O exemplo a seguir retorna uma lista detalhada para a caixa de correio Ayla.

Get-Mailbox -Identity Ayla | Format-List

O parâmetro Filter está disponível para os seguintes cmdlets de destinatário:

Para obter mais informações sobre as propriedades filtráveis que você pode usar com o parâmetro Filter , consulte Propriedades filtráveis para o parâmetro Filter.

Exemplo de parâmetro de filtro

Este exemplo usa o parâmetro Filter para retornar informações sobre usuários cujo título contém a palavra "gerente".

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

Filtros personalizados usando o parâmetro ContentFilter

Você pode usar o parâmetro ContentFilter para selecionar o conteúdo da mensagem específico a ser exportado ao usar o cmdlet New-MailboxExportRequest . Se o comando encontrar uma mensagem que contenha a correspondência com o filtro de conteúdo, ele exportará a mensagem para um arquivo .pst.

Exemplo de parâmetro ContentFilter

Este exemplo cria uma solicitação de exportação que pesquisa mensagens na caixa de correio de Ayla em que o corpo contém a frase "prospecto da empresa". Se essa frase for encontrada, o comando exportará todas as mensagens com essa frase para um arquivo .pst.

New-MailboxExportRequest -Mailbox Ayla -ContentFilter "Body -like 'company prospectus*'"

Para obter mais informações sobre as propriedades filtráveis que você pode usar com o parâmetro ContentFilter , consulte Propriedades filtráveis para o parâmetro ContentFilter.

Informações adicionais sobre sintaxe OPATH

Ao criar seus próprios filtros OPATH personalizados, considere os seguintes itens:

  • Use a seguinte sintaxe para identificar os tipos de valores que você está procurando:

    • Valores de texto: delimite o texto com aspas simples (por exemplo, 'Value' ou 'Value with spaces'). Ou você pode colocar um valor de texto entre aspas duplas, mas isso limita os caracteres que podem ser usados para incluir todo o filtro OPATH.

    • Variáveis: coloque as variáveis que precisam ser expandidas entre aspas simples (por exemplo, '$User'). Se o valor da variável contiver aspas simples, você precisará identificar (escapar) as aspas simples para expandir a variável corretamente. Por exemplo, em vez de '$User', use '$($User -Replace "'","''")'.

    • Valores inteiros: você não precisa incluir inteiros (por exemplo, 500). Geralmente, você pode colocar inteiros entre aspas simples ou duplas, mas isso limita os caracteres que você pode usar para incluir todo o filtro OPATH.

    • Valores do sistema: não coloque valores do sistema (por exemplo, $true, $false, ou $null). Para colocar todo o filtro OPATH entre aspas duplas, você precisa escapar do cifrão no valor do sistema (por exemplo, `$true).

  • Você precisa colocar todo o filtro OPATH entre aspas duplas " " ou aspas simples " '. Embora qualquer objeto de filtro OPATH seja tecnicamente uma cadeia de caracteres e não um bloco de script, você ainda poderá usar chaves { }, mas somente se o filtro não contiver variáveis que exijam expansão. Os caracteres que você pode usar para incluir todo o filtro OPATH dependem dos tipos de valores que você está procurando e os caracteres que você usou (ou não usou) para incluir esses valores:

    • Valores de texto: depende de como você incluiu o texto a ser pesquisado:

      • Texto entre aspas simples: coloque todo o filtro OPATH entre aspas duplas ou chaves.
      • Texto entre aspas duplas: Coloque todo o filtro OPATH entre chaves.
    • Variáveis: coloque todo o filtro OPATH entre aspas duplas (por exemplo, "Name -eq '$User'").

    • Valores inteiros: para garantir que eles funcionem em todos os casos, coloque-os de uma das seguintes maneiras:

      • Inteiro entre aspas simples: Coloque todo o filtro OPATH entre aspas duplas ou chaves "CountryCode -eq '840'".
      • Inteiro entre aspas duplas: coloque todo o filtro OPATH entre chaves (por exemplo {CountryCode -eq "840"}).
    • Valores do sistema: Coloque todo o filtro OPATH entre aspas simples ou chaves (por exemplo 'HiddenFromAddressListsEnabled -eq $true'). Se você escapar do valor do sistema de cifrão, também poderá colocar todo o filtro OPATH entre aspas duplas (por exemplo, "HiddenFromAddressListsEnabled -eq `$true").

    A compatibilidade dos critérios de pesquisa e os caracteres válidos que você pode usar para incluir todo o filtro OPATH estão resumidos na tabela a seguir:

    Pesquisar valor Filtro OPATH
    delimitado por
    Aspas duplas
    Filtro OPATH
    delimitado por
    Aspas simples
    Filtro OPATH incluído no
    Aparelho ortodôntico
    'Text'
    "Text"
    '$Variable'
    500
    '500'
    "500"
    $true
    `$true
  • Inclua o hífen antes de todos os operadores lógicos ou de comparação. Os operadores mais comuns incluem:

    • -and
    • -or
    • -not
    • -eq (igual a)
    • -ne (diferente de)
    • -lt (menor que)
    • -gt (maior que)
    • -like (comparação de cadeia de caracteres)
    • -notlike (comparação de cadeia de caracteres)
  • Muitas propriedades filtráveis aceitam caracteres curinga. Se você usar um caractere curinga, utilize o operador -like em vez do operador -eq. Use o operador -like para localizar correspondências de padrão em tipos avançados (por exemplo, cadeias de caracteres). Use o operador -eq para localizar uma correspondência exata.

    Quando você usa o operador -like no Exchange Online PowerShell, o caractere curinga tem suporte apenas como um sufixo na maioria dos parâmetros. Por exemplo, "Department -like 'sales*'" é permitido, mas "Department -like '*sales'" não é permitido.

    Dica

    Mesmo que um prefixo curinga funcione em um parâmetro de filtro no Exchange Online PowerShell, não recomendamos usá-lo devido a problemas de baixo desempenho.

  • Para obter mais informações sobre operadores que você pode usar, consulte:

Documentação do filtro de destinatário

A tabela a seguir contém links de artigos para ajudá-lo a saber mais sobre as propriedades filtráveis que você pode usar com os comandos de destinatário do Exchange.

Artigo Descrição
Propriedades filtráveis do parâmetro RecipientFilter em cmdlets do Exchange Saiba mais sobre as propriedades filtráveis disponíveis para o parâmetro RecipientFilter .
Propriedades filtráveis para o parâmetro Filter em cmdlets do Exchange Saiba mais sobre as propriedades filtráveis disponíveis para o parâmetro Filter .
Filtros no módulo do PowerShell do Exchange Online Saiba mais sobre as considerações sobre filtros nos nove cmdlets Get-EXO* exclusivos no módulo do PowerShell do Exchange Online.