Filtros receptores em comandos Exchange PowerShell
Os cmdlets no Shell de Gerenciamento do Exchange e Exchange Online PowerShelll dão suporte a diferentes tipos de filtros em cmdlets relacionados ao destinatário:
- Filtros pré-verificados.
- Filtros personalizados usando o parâmetro RecipientFilter .
- Filtros personalizados usando o parâmetro Filtrar .
- 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, GALs (listas de endereços globais), políticas de endereço de email e grupos de distribuição. A sintaxe de filtragem de OPATH substituiu a sintaxe de filtragem LDAP a partir de Exchange Server 2007.
Filtros pré-digitalizados
Um filtro predefinido usa propriedades populares no Exchange para filtrar destinatários para grupos de distribuição dinâmica, políticas de endereço de email, listas de endereços ou GALs. Com filtros pré-digitalizados, você pode usar o Exchange PowerShell ou o Centro de administração do Exchange (EAC). Usando filtros pré-verificados, você pode fazer 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.
- Adicione 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 para ConditionalCustomAttribute15.
Os filtros precatórios estão disponíveis nos seguintes cmdlets:
Exemplo de filtro precafinido
Este exemplo descreve o uso de filtros pré-digitalizados no Shell de Gerenciamento do Exchange para criar um grupo de distribuição dinâmica. A sintaxe neste exemplo é semelhante, mas não idêntica à sintaxe que você usaria para criar uma política de endereço de email, lista de endereços ou GAL. Ao criar um filtro pré-verificado, você deve fazer as seguintes perguntas:
De qual unidade organizacional (OU) você deseja incluir destinatários (o parâmetro RecipientContainer )?
Observação
A seleção da OU para essa finalidade se aplica apenas à criação de grupos de distribuição dinâmica e não à criação de políticas de endereço de email, listas de endereços ou GALs.
Quais 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 de distribuição dinâmica 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 apenas os destinatários que têm o atributo Department 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 de distribuição dinâmica.
Get-DynamicDistributionGroup -Identity "Contoso Finance" | Format-List Recipient*,Included*
Filtros personalizados usando o parâmetro RecipientFilter
Se os filtros precatórios 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 filtradas que você pode usar com o parâmetro RecipientFilter , consulte Propriedades filtreáveis para o parâmetro RecipientFilter.
Exemplo de filtro personalizado
O exemplo a seguir usa o parâmetro RecipientFilter para criar um grupo de distribuição dinâmica. A sintaxe neste exemplo é semelhante, mas não idêntica à sintaxe que você usa para criar uma política de endereço de email, lista de endereços ou GAL.
Este exemplo usa filtros personalizados para criar um grupo de distribuição dinâmico 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 apenas os destinatários que têm o atributo Company definido como Contoso e o atributo do Office definido como North Building.
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 Filtrar
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 caracteres de filtro. Esse tipo de filtro não modifica nenhuma configuração ou atributos de objetos. Ele modifica apenas o conjunto de objetos que o comando retorna.
Usar o parâmetro Filter para modificar resultados de 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, em seguida, 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 Trabalhar com Saída de Comando.
Para localizar as propriedades filtradas para cmdlets que têm o parâmetro Filter , você pode executar o comando Get em um objeto e formatar a saída encadeando 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:
- 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
Para obter mais informações sobre as propriedades filtradas que você pode usar com o parâmetro Filtro , consulte Propriedades filtreáveis para o parâmetro Filtro.
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 "manager".
Get-User -Filter "Title -like 'Manager*'"
Filtros personalizados usando o parâmetro ContentFilter
Você pode usar o parâmetro ContentFilter para selecionar conteúdo de mensagem específico para exportar ao usar o cmdlet New-MailboxExportRequest . Se o comando encontrar uma mensagem que contenha a correspondência com o filtro de conteúdo, ela exportará a mensagem para um arquivo .pst.
Exemplo de parâmetro ContentFilter
Este exemplo cria uma solicitação de exportação que pesquisa a caixa de correio de Ayla em busca de mensagens em que o corpo contém a frase "prospecto da empresa". Se essa frase for encontrada, o comando exporta 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 filtradas que você pode usar com o parâmetro ContentFilter , consulte Propriedades filtradas para o parâmetro ContentFilter.
Informações adicionais de 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: inclua o texto em aspas individuais (por exemplo,
'Value'
ou'Value with spaces'
). Ou, você pode incluir um valor de texto em aspas duplas, mas isso limita os caracteres que você pode usar para incluir todo o filtro OPATH.Variáveis: incluir variáveis que precisam ser expandidas em aspas individuais (por exemplo,
'$User'
). Se o valor variável em si contiver aspas individuais, você precisará identificar (escapar) as aspas individuais 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 incluir inteiros em aspas individuais ou aspas duplas, mas isso limita os caracteres que você pode usar para incluir todo o filtro OPATH.Valores do sistema: não inclua valores do sistema (por exemplo,
$true
,$false
ou$null
). Para incluir todo o filtro OPATH em aspas duplas, você precisa escapar do valor do sistema de entrada de dólar (por exemplo,`$true
).
Você precisa incluir todo o filtro OPATH nas aspas duplas " " ou aspas individuais ' '. Embora qualquer objeto de filtro OPATH seja tecnicamente uma cadeia de caracteres e não um bloco de script, você ainda pode 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 de tipos de valores que você está procurando e dos caracteres que você usou (ou não usou) para incluir esses valores:
Valores de texto: depende de como você incluiu o texto para pesquisar:
- Texto entre aspas: inclua todo o filtro OPATH em aspas duplas ou chaves.
- Texto entre aspas duplas: inclua todo o filtro OPATH em chaves.
Variáveis: inclua todo o filtro OPATH em aspas duplas (por exemplo,
"Name -eq '$User'"
).Valores inteiros: para garantir que funcionem em todos os casos, inclua-os de uma das seguintes maneiras:
-
Inteiro entre aspas: inclua todo o filtro OPATH em aspas
"CountryCode -eq '840'"
duplas ou chaves . -
Inteiro entre aspas duplas: inclua todo o filtro OPATH em chaves (por exemplo
{CountryCode -eq "840"}
).
-
Inteiro entre aspas: inclua todo o filtro OPATH em aspas
Valores do sistema: inclua todo o filtro OPATH em aspas ou chaves (por exemplo
'HiddenFromAddressListsEnabled -eq $true'
). Se você escapar do valor do sistema de sinal de dólar, também poderá incluir todo o filtro OPATH em 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 são resumidos na tabela a seguir:
Pesquisa valor Filtro OPATH
fechado em
aspas duplasFiltro OPATH
fechado em
aspas individuaisFiltro OPATH fechado em
Chaves'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
(iguais) -
-ne
(não igual) -
-lt
(menor que) -
-gt
(maior que) -
-like
(comparação de cadeia de caracteres) -
-notlike
(comparação de cadeia de caracteres)
Muitas propriedades filtradas aceitam caracteres curinga. Se você usar um caractere curinga, utilize o operador -like em vez do operador -eq. Use o operador -like para encontrar correspondências de padrão em tipos avançados (por exemplo, cadeias de caracteres). Use o operador -eq para encontrar uma correspondência exata.
Quando você usa o operador -like no Exchange Online PowerShell, o caractere curinga tem suporte apenas como 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, confira:
Documentação do filtro do destinatário
A tabela a seguir contém links para artigos para ajudar você a saber mais sobre as propriedades filtradas que você pode usar com comandos de destinatário do Exchange.
Artigo | Descrição |
---|---|
Propriedades filtradas para o parâmetro RecipientFilter em cmdlets do Exchange | Saiba mais sobre as propriedades filtradas que estão disponíveis para o parâmetro RecipientFilter . |
Propriedades filtradas para o parâmetro Filter em cmdlets do Exchange | Saiba mais sobre as propriedades filtradas que estão disponíveis para o parâmetro Filter . |
Filtros no módulo Exchange Online PowerShell | Saiba mais sobre as considerações sobre filtros nos nove cmdlets Get-EXO* exclusivos no módulo Exchange Online PowerShell. |