Compartilhar via


Filtros receptores em comandos Exchange PowerShell

Os cmdlets na Shell de Gestão do Exchange e Exchange Online PowerShelll suportam diferentes tipos de filtros em cmdlets relacionados com destinatários:

  • Filtros pré-selecionados.
  • Filtros personalizados com o parâmetro RecipientFilter .
  • Filtros personalizados com o parâmetro Filter .
  • Filtros personalizados com o parâmetro ContentFilter .

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

Filtros pré-selecionados

Um filtro pré-estranho utiliza propriedades populares no Exchange para filtrar os destinatários de grupos de distribuição dinâmicos, políticas de endereços de e-mail, listas de endereços ou GALs. Com filtros pré-selecionados, pode utilizar o Exchange PowerShell ou o Centro de administração do Exchange (EAC). Com filtros pré-selecionados, pode efetuar as seguintes tarefas:

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

Os seguintes parâmetros são considerados filtros pré-selecionados:

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

Os filtros pré-selecionados estão disponíveis nos seguintes cmdlets:

Exemplo de filtro pré-selecionado

Este exemplo descreve a utilização de filtros pré-selecionados na Shell de Gestão do Exchange para criar um grupo de distribuição dinâmico. A sintaxe neste exemplo é semelhante, mas não idêntica à sintaxe que utilizaria para criar uma política de endereço de e-mail, lista de endereços ou GAL. Ao criar um filtro pré-selecionado, deve fazer as seguintes perguntas:

  • A partir de que unidade organizacional (UO) pretende incluir destinatários (o parâmetro RecipientContainer )?

    Observação

    Selecionar a UO para esta finalidade aplica-se apenas à criação de grupos de distribuição dinâmicos e não à criação de políticas de endereços de e-mail, listas de endereços ou GALs.

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

  • Que condições adicionais pretende incluir no filtro (os parâmetros ConditionalCompany, ConditionalDepartment, ConditionalStateOrProvince e ConditionalCustomAttribute )?

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

  • Nome: Contoso Finance.
  • Tipos de destinatários: caixas de correio de utilizador.
  • Localização do destinatário: a UO com o nome Contoso.com/Users.
  • Filtros Inclua apenas os destinatários que tenham o atributo Departamento definido como Finanças e o atributo 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 apresenta as propriedades deste novo grupo de distribuição dinâmico.

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

Filtros personalizados com o parâmetro RecipientFilter

Se os filtros pré-selecionados não corresponderem às suas necessidades, pode criar filtros personalizados com o parâmetro RecipientFilter . Este parâmetro está disponível nos seguintes cmdlets:

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

Exemplo de filtro personalizado

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

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

  • Nome: AllContosoNorth.
  • Tipos de destinatários: caixas de correio de utilizador.
  • Localização do destinatário: a UO com o nome Contoso.com/Users.
  • Filtros Inclua apenas os destinatários que tenham o atributo Empresa definido como Contoso e o atributo do 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 com o parâmetro Filter

Pode utilizar o parâmetro Filter para filtrar os resultados de um comando para especificar os objetos a obter. Por exemplo, em vez de obter todos os utilizadores ou grupos, pode especificar um conjunto de utilizadores ou grupos com uma cadeia de filtro. Este tipo de filtro não modifica nenhuma configuração ou atributos de objetos. Modifica apenas o conjunto de objetos que o comando devolve.

A utilização do parâmetro Filter para modificar os resultados do comando é conhecida como filtragem do lado do servidor. A filtragem do lado do servidor submete o comando e o filtro para o servidor para processamento. Também suportamos a filtragem do lado do cliente, na qual o comando obtém todos os objetos do servidor e, em seguida, aplica o filtro na janela da consola local. Para executar a filtragem do lado do cliente, utilize 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 Trabalhar com a Saída do Comando.

Para localizar as propriedades filtráveis dos cmdlets que têm o parâmetro Filter , pode executar o comando Obter num objeto e formatar a saída ao encaminhar o parâmetro Format-List . A maioria dos valores devolvidos estão disponíveis para utilização no parâmetro Filter .

O exemplo seguinte devolve uma lista detalhada da 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 pode utilizar com o parâmetro Filter, veja Filterable properties for the Filter parameter (Propriedades filtráveis para o parâmetro Filter).

Exemplo de parâmetro de filtro

Este exemplo utiliza o parâmetro Filter para devolver informações sobre utilizadores cujo título contém a palavra "gestor".

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

Filtros personalizados com o parâmetro ContentFilter

Pode utilizar o parâmetro ContentFilter para selecionar conteúdo de mensagem específico a exportar ao utilizar o cmdlet New-MailboxExportRequest . Se o comando encontrar uma mensagem que contém a correspondência com o filtro de conteúdo, exporta a mensagem para um ficheiro .pst.

Exemplo de parâmetro ContentFilter

Este exemplo cria um pedido de exportação que procura mensagens na caixa de correio da Ayla onde o corpo contém a expressão "prospecto da empresa". Se essa expressão for encontrada, o comando exporta todas as mensagens com essa expressão para um ficheiro .pst.

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

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

Informações de sintaxe OPATH adicionais

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

  • Utilize a seguinte sintaxe para identificar os tipos de valores que procura:

    • Valores de texto: coloque o texto entre plicas (por exemplo, 'Value' ou 'Value with spaces'). Em alternativa, pode colocar um valor de texto entre aspas duplas, mas isso limita os carateres que pode utilizar para incluir todo o filtro OPATH.

    • Variáveis: coloque as variáveis que têm de ser expandidas entre plicas (por exemplo, '$User'). Se o próprio valor da variável contiver aspas únicas, terá de identificar (escape) as aspas únicas para expandir a variável corretamente. Por exemplo, em vez de '$User', utilize '$($User -Replace "'","''")'.

    • Valores inteiros: não precisa de incluir números inteiros (por exemplo, 500). Muitas vezes, pode colocar números inteiros entre plicas ou aspas duplas, mas isso limita os carateres que pode utilizar para incluir todo o filtro OPATH.

    • Valores do sistema: não coloque os valores do sistema (por exemplo, $true, $falseou $null). Para incluir todo o filtro OPATH entre aspas duplas, tem de escapar ao valor do sistema de início de sessão em dólares (por exemplo, `$true).

  • Tem de colocar todo o filtro OPATH entre aspas " " ou aspas únicas ' '. Embora qualquer objeto de filtro OPATH seja tecnicamente uma cadeia e não um bloco de script, ainda pode utilizar chavetas { }, mas apenas se o filtro não contiver variáveis que exijam expansão. Os carateres que pode utilizar para incluir todo o filtro OPATH dependem de tipos de valores que procura e dos carateres que utilizou (ou não utilizou) para incluir esses valores:

    • Valores de texto: depende da forma como incluiu o texto a procurar:

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

    • Valores inteiros: para garantir que funcionam em todos os casos, coloque-os numa das seguintes formas:

      • Número inteiro entre plicas: coloque todo o filtro OPATH entre aspas "CountryCode -eq '840'"ou chavetas .
      • Número inteiro entre aspas duplas: coloque todo o filtro OPATH entre chavetas (por exemplo {CountryCode -eq "840"}, ).
    • Valores do sistema: coloque todo o filtro OPATH entre plicas ou chavetas (por exemplo 'HiddenFromAddressListsEnabled -eq $true', ). Se escapar ao valor do sistema de sinais de dólar, também pode incluir todo o filtro OPATH entre aspas duplas (por exemplo, "HiddenFromAddressListsEnabled -eq `$true").

    A compatibilidade dos critérios de pesquisa e os carateres válidos que pode utilizar para incluir todo o filtro OPATH são resumidos na seguinte tabela:

    Valor de pesquisa Filtro OPATH
    incluído em
    aspas duplas
    Filtro OPATH
    incluído em
    plicas
    Filtro OPATH incluído em
    chavetas
    '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 (não igual)
    • -lt (menor que)
    • -gt (maior que)
    • -like (comparação de cadeias)
    • -notlike (comparação de cadeias)
  • Muitas propriedades filtráveis aceitam carateres universais. Se você usar um caractere curinga, utilize o operador -like em vez do operador -eq. Utilize o operador -like para localizar correspondências de padrões em tipos avançados (por exemplo, cadeias). Utilize o operador -eq para encontrar uma correspondência exata.

    Quando utiliza o operador -like no Exchange Online PowerShell, o caráter universal é suportado 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 de caráter universal funcione num parâmetro de filtro no Exchange Online PowerShell, não recomendamos que o utilize devido a problemas de baixo desempenho.

  • Para obter mais informações sobre os operadores que pode utilizar, consulte:

Documentação do filtro do destinatário

A tabela seguinte contém ligações para artigos para o ajudar a saber mais sobre as propriedades filtráveis que pode utilizar com comandos de destinatários do Exchange.

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