Filtros de destinatarios en los comandos de PowerShell de Exchange

Puede usar varios comandos de Shell de administración de Exchange y PowerShell de Exchange Online para filtrar un conjunto de destinatarios. Puede crear los siguientes tipos de filtros en un comando de Exchange:

  • Filtros prefabricados

  • Filtros personalizados mediante el parámetro RecipientFilter

  • Filtros personalizados mediante el parámetro Filter

  • Filtros personalizados mediante el parámetro ContentFilter

En versiones anteriores de Exchange se ha usado la sintaxis de filtrado de LDAP para crear listas de direcciones personalizadas, listas globales de direcciones (GAL), directivas de correo electrónico y grupos de distribución. En Exchange Server 2007 y versiones posteriores, la sintaxis de filtrado OPATH reemplazó la sintaxis de filtrado LDAP.

Filtros prefabricados

Un filtro predefinido es un filtro de Exchange que se suele usar para cumplir una variedad de criterios de filtrado de destinatarios para la creación de grupos de distribución dinámicos, directivas de direcciones de correo electrónico, listas de direcciones o gal. Con los filtros predefinidos, puede usar Exchange PowerShell o el centro de administración de Exchange (EAC). Con los filtros predefinidos puede hacer lo siguiente:

  • Determinar el ámbito de los destinatarios.

  • Agregar filtrado condicional basado en propiedades como la empresa, el departamento y el estado o la región.

  • Agregar atributos personalizados a los destinatarios. Para obtener más información, vea Custom Attributes.

Los siguientes parámetros se consideran filtros prefabricados:

  • IncludedRecipients

  • ConditionalCompany

  • ConditionalDepartment

  • ConditionalStateOrProvince

  • ConditionalCustomAttribute1 a ConditionalCustomAttribute15.

Los filtros prefabricados están disponibles para los siguientes cmdlets:

Ejemplo de filtro predefinido

En este ejemplo se describe el uso de filtros predefinidos en el shell de administración de Exchange para crear un grupo de distribución dinámico. La sintaxis de este ejemplo es similar, pero no idéntica, a la sintaxis que usaría para crear una directiva de direcciones de correo electrónico, una lista de direcciones o una GAL. Al crear un filtro predefinido, debe realizar las siguientes preguntas:

  • ¿De qué unidad organizativa se van a incluir destinatarios? (Esta pregunta se corresponde con el parámetro RecipientContainer.)

Note

La elección de la unidad organizativa para este fin solo se aplica a la creación de grupos de distribución dinámicos, no a la creación de directivas de direcciones de correo electrónico, listas de direcciones o GAL.

  • ¿Qué tipo de destinatarios desea incluir? (Esta pregunta se corresponde con el parámetro IncludedRecipients.)

  • ¿Qué condiciones adicionales desea incluir en el filtro? (Esta pregunta se corresponde con los parámetros ConditionalCompany, ConditionalDepartment, ConditionalStateOrProvince y ConditionalCustomAttribute.)

En este ejemplo se crea el grupo de distribución dinámico Contoso Finance para buzones de correo de la OU Contoso.com/Users y se especifica la condición de incluir solo destinatarios con el atributo Department definido como Finanzas y el atributo Company definido como Contoso.

New-DynamicDistributionGroup -Name "Contoso Finance" -OrganizationalUnit Contoso.com/Users -RecipientContainer Contoso.com/Users -IncludedRecipients MailboxUsers -ConditionalDepartment "Finance" -ConditionalCompany "Contoso"

En este ejemplo se muestran las propiedades de este nuevo grupo de distribución dinámica.

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

Filtros personalizados mediante el parámetro RecipientFilter

Si los filtros prefabricados no cubren sus necesidades de creación o modificación de grupos de distribución dinámicos, directivas de direcciones de correo electrónico o listas de direcciones, puede crear un filtro personalizado usando el parámetro RecipientFilter.

El parámetro de filtro de destinatarios está disponible para los cmdlets siguientes:

Para obtener más información sobre las propiedades que se pueden filtrar que puede usar con el parámetro recipientfilter , vea filterable Properties for the recipientfilter Parameter.

Ejemplo de filtro personalizado

En el siguiente ejemplo se usa el parámetro RecipientFilter para crear un grupo de distribución dinámico. La sintaxis del ejemplo es similar, pero no idéntica, a la sintaxis que usaría para crear una directiva de direcciones de correo electrónico, una lista de direcciones o una GAL.

En este ejemplo se usan filtros personalizados para crear un grupo de distribución dinámico para buzones de usuarios que tienen el atributo Company definido como Contoso y el atributo Office definido como Edificio norte.

New-DynamicDistributionGroup -Name AllContosoNorth -OrganizationalUnit contoso.com/Users -RecipientFilter "((RecipientType -eq 'UserMailbox') -and (Company -eq 'Contoso') -and (Office -eq 'North Building'))"

Filtros personalizados mediante el parámetro Filter

Puede usar el parámetro Filter para filtrar los resultados de un comando y especificar qué objetos recuperar. Por ejemplo, en lugar de recuperar todos los usuarios o grupos, puede especificar un conjunto de usuarios o grupos mediante una cadena de filtro. Este tipo de filtro no modifica ninguna configuración ni atributos de objetos. Sólo modifica el conjunto de objetos que devuelve el comando.

El uso del parámetro Filter para modificar los resultados del comando se conoce como filtrado del servidor. El filtrado del lado servidor envía el comando y el filtro al servidor para su procesamiento. También se admite el filtrado del cliente, en el que el comando recupera todos los objetos del servidor y, a continuación, aplica el filtro en la ventana de la consola local. Para realizar un filtrado del lado cliente, use el cmdlet Where-Object. Si quiere obtener más información sobre el filtrado del lado servidor y del lado cliente, vea "Cómo filtrar datos" en Working with Command Output.

Para encontrar las propiedades que se pueden filtrar para los cmdlets que tienen el parámetro Filter, puede ejecutar el comando Get en un objeto y dar formato al resultado con el parámetro Format-List. La mayor parte de los valores devueltos estarán disponibles para usarlos en el parámetro Filter. En el ejemplo siguiente se devuelve una lista detallada para el buzón Ayla.

Get-Mailbox -Identity Ayla | Format-List

El parámetro Filter está disponible para los siguientes cmdlets de destinatario:

Para obtener más información acerca de las propiedades filtrables que puede usar con el parámetro Filter , vea filterable Properties para el parámetro filter.

Ejemplo

En este ejemplo se usa el parámetro Filter para devolver información sobre los usuarios cuyo cargo contenga la palabra "manager".

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

Filtros personalizados mediante el parámetro ContentFilter

Puede usar el parámetro ContentFilter para seleccionar el contenido específico de los mensajes que desea exportar al usar el cmdlet New-MailboxExportRequest. Si el comando encuentra un mensaje que contiene la coincidencia con el filtro de contenido, exporta dicho mensaje a un archivo .pst.

Ejemplo de parámetro ContentFilter

En este ejemplo se crea una solicitud de exportación que busca en el buzón de Ayla mensajes cuyo cuerpo contenga la frase "company prospectus". Si se encuentra la cadena, el comando exporta todos los mensajes que la contengan a un archivo .pst.

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

Para obtener más información sobre las propiedades que se pueden filtrar que puede usar con el parámetro ContentFilter , vea filterable Properties for the ContentFilter Parameter.

Información adicional acerca de la sintaxis OPATH

Al crear sus propios filtros OPath personalizados, tenga en cuenta los siguientes elementos:

  • Use la siguiente sintaxis para identificar los tipos de valores que está buscando:

    • Valores de texto: encierre el texto entre comillas simples (por 'Value' ejemplo 'Value with spaces', o). O bien, puede incluir un valor de texto entre comillas dobles, pero limita los caracteres que puede usar para incluir todo el filtro OPath.

    • Variables: encierre las variables que deben expandirse entre comillas simples (por ejemplo '$User',). Si el valor de variable contiene comillas simples, debe identificar (escape) las comillas simples para expandir la variable correctamente. Por ejemplo, en lugar de '$User', use '$($User -Replace "'","''")'.

    • Valores enteros: no es necesario incluir en ellos los números enteros (por ejemplo 500,). Con frecuencia, puede incluir enteros entre comillas simples o comillas dobles, pero esto limita los caracteres que puede usar para incluir todo el filtro OPath.

    • Valores del sistema: no incluya valores del sistema (por $trueejemplo $false,, $nullo). Para encerrar todo el filtro OPath con comillas dobles, debe usar el símbolo de escape del dólar en el valor del sistema `$true(por ejemplo,).

  • Debe incluir todo el filtro OPath entre comillas dobles "o" comillas simples ". Aunque cualquier objeto de filtro OPath es técnicamente una cadena y no un bloque de script, puede seguir usando llaves {}, pero solo si el filtro no contiene variables que requieran expansión. Los caracteres que puede usar para incluir todo el filtro OPath dependen de los tipos de valores que esté buscando y de los caracteres que haya usado (o que no haya usado) para incluir esos valores:

    • Valores de texto: depende de cómo ENHA incluido el texto que se va a buscar:

      • Texto entre comillas simples: encierre todo el filtro OPath entre comillas dobles o llaves.

      • Texto entre comillas dobles: encierre todo el filtro OPath entre llaves.

    • Variables: encierre todo el filtro OPath entre comillas dobles (por ejemplo "Name -eq '$User'",).

    • Valores enteros: depende de cómo se haya incluido (o no) el número entero que se va a buscar:

      • Entero no incluido: escriba todo el filtro OPath entre comillas dobles, las comillas simples o las llaves (por ejemplo "CountryCode -eq 840").

      • Entero entre comillas simples: encierre todo el filtro OPath entre comillas dobles o llaves "CountryCode -eq '840'".

      • Entero entrecomillas dobles: encierre todo el filtro OPath entre llaves (por ejemplo {CountryCode -eq "840"}).

    • Valores del sistema: encierre todo el filtro OPath entre comillas simples o llaves (por 'HiddenFromAddressListsEnabled -eq $true'ejemplo). Si se escapa del valor del sistema de firma de dólar, también puede incluir todo el filtro OPath entre comillas dobles (por "HiddenFromAddressListsEnabled -eq `$true"ejemplo,).

    En la siguiente tabla se resume la compatibilidad de los criterios de búsqueda y los caracteres válidos que se pueden usar para incluir todo el filtro OPath:

    Valor de búsqueda Filtro OPath entre
    comillas dobles
    Filtro OPath entre
    comillas simples
    Filtro OPath entre
    llaves
    'Text' Marca de verificación Marca de verificación
    "Text" Marca de verificación
    '$Variable' Marca de verificación
    500 Marca de verificación Marca de verificación Marca de verificación
    '500' Marca de verificación Marca de verificación
    "500" Marca de verificación
    $true Marca de verificación Marca de verificación
    `$true Marca de verificación Marca de verificación Marca de verificación
  • Incluya un guión antes de todos los operadores. Los operadores más comunes incluyen:

    • y

    • o bien

    • -no

    • -EQ (es igual a)

    • -ne (no es igual)

    • -lt (menor que)

    • -gt(mayor que)

    • -like (comparación de cadenas)

    • -notlike (comparación de cadenas)

  • Muchas propiedades que se pueden filtrar aceptan caracteres comodín. Si utiliza un carácter comodín, use el operador -like en lugar del operador -eq. El operador -like se usa para buscar coincidencias de patrón en tipos enriquecidos (por ejemplo, cadenas), mientras que el operador -EQ se usa para buscar una coincidencia exacta.

  • Para obtener más información acerca de los operadores que puede usar, consulte:

Documentación de filtros de destinatarios

En la siguiente tabla se incluyen vínculos a temas que le ayudarán a obtener más información acerca de las propiedades filtrables que puede usar con los comandos de destinatario de Exchange.

Tema Descripción
Propiedades que se pueden filtrar para el parámetro RecipientFilter Obtenga más información sobre las propiedades que se pueden filtrar y que están disponibles para el parámetro RecipientFilter .
Propiedades que se pueden filtrar para el parámetro filter Obtenga más información sobre las propiedades que se pueden filtrar y que están disponibles para el parámetro Filter .