Modificación de propiedades multivalor

Se aplica a: Exchange Server 2013

Una propiedad con varios valores es una propiedad que puede tener más de un valor. Por ejemplo, la propiedad BlockedRecipients del objeto RecipientFilterConfig puede aceptar varias direcciones de destinatario, tal y como se muestra en los ejemplos siguientes:

  • john@contoso.com
  • kim@northwindtraders.com
  • david@adatum.com

Dado que la propiedad BlockedRecipients acepta más de un valor, se le llama propiedad con varios valores. En este tema se explica cómo usar el Shell de administración de Exchange para agregar o quitar valores de una propiedad con varios valores en un objeto.

Para obtener más información sobre los objetos, vea Datos estructurados. Para obtener más información sobre el Shell, consulte Uso de PowerShell con Exchange 2013 (Shell de administración de Exchange) .

Modificación de una propiedad multivalor frente a la modificación de una propiedad que acepta un solo valor

El modo en que se modifica una propiedad con varios valores es ligeramente diferente al que se usa para modificar una propiedad que acepta un único valor. Cuando se modifica una propiedad que acepta un sólo valor, se le puede asignar un valor directamente, tal y como se muestra en el comando siguiente.

Set-TransportConfig -MaxSendSize 12MB

Cuando usa este comando para proporcionar un nuevo valor a la propiedad MaxSendSize, el valor almacenado se sobrescribe. Esto no constituye un problema en el caso de las propiedades que aceptan un único valor. Sin embargo, sí lo es en el caso de las propiedades con varios valores. Por ejemplo, supongamos que la propiedad BlockedRecipients del objeto RecipientFilterConfig está configurada para tener los tres valores que se indicaban en la sección anterior. Al ejecutar el comando Get-RecipientFilterConfig | Format-List BlockedRecipients, se muestra lo siguiente.

BlockedRecipients : {david@adatum.com, kim@northwindtraders.com, john@contoso.com}

Supongamos ahora que ha recibido la solicitud para agregar una nueva dirección SMTP a la lista de destinatarios bloqueados. Ejecuta el comando siguiente para agregar la nueva dirección SMTP.

Set-RecipientFilterConfig -BlockedRecipients chris@contoso.com

Cuando vuelva a ejecutar el Get-RecipientFilterConfig | Format-List BlockedRecipients comando, verá lo siguiente.

BlockedRecipients : {chris@contoso.com}

Esto no es lo que esperabas. Quería agregar la nueva dirección SMTP a la lista existente de destinatarios bloqueados, pero en su lugar la nueva dirección SMTP sobrescribe la lista existente de destinatarios bloqueados. Este resultado no intencionado ejemplifica cómo la modificación de una propiedad multivalor difiere de la modificación de una propiedad que solo acepta un valor único. Al modificar una propiedad multivalor, debe asegurarse de anexar o quitar valores en lugar de sobrescribir toda la lista de valores. En las secciones siguientes se muestra cómo hacerlo exactamente.

Modificación de propiedades multivalor

La modificación de propiedades con varios valores es similar a la modificación de propiedades con un solo valor. Solo tiene que agregar sintaxis adicional para indicar al Shell que desea agregar o quitar valores a la propiedad con varios valores, en vez de sustituir todo lo que está almacenado en la propiedad. La sintaxis se incluye, junto con el valor o valores que desee agregar o quitar a la propiedad, como un valor en un parámetro cuando ejecuta un cmdlet. En la tabla siguiente se muestra la sintaxis que es preciso agregar a un parámetro de un cmdlet para modificar las propiedades con varios valores.

Sintaxis de propiedades multivalor

Acción Sintaxis
Agregar uno o más valores a una propiedad con varios valores @{Add="<value1>", "<value2>", "<value3>"}
Quitar uno o más valores de una propiedad con varios valores @{Remove="<value1>", "<value2>", "<value3>"}

La sintaxis que elija de la tabla de sintaxis de propiedades multivalor se especifica como un valor de parámetro en un cmdlet. Por ejemplo, el comando siguiente agrega varios valores en una propiedad con varios valores:

Set-ExampleCmdlet -Parameter @{Add="Red", "Blue", "Green"}

Cuando use esta sintaxis, los valores que especifique se agregarán o eliminarán de la lista de valores que la propiedad ya tiene. Tomando el ejemplo BlockedRecipients anteriormente en este tema, ahora podemos agregar chris@contoso.com sin sobrescribir el resto de los valores de esta propiedad mediante el siguiente comando:

Set-RecipientFilterConfig -BlockedRecipients @{Add="chris@contoso.com"}

Si quisiera quitar david@adatum.com de la lista de valores, usaría este comando:

Set-RecipientFilterConfig -BlockedRecipients @{Remove="david@adatum.com"}

Se pueden usar combinaciones más complejas como, por ejemplo, agregar o quitar valores de una propiedad al mismo tiempo. Para ello, inserte un punto y coma (; ) entre Add las acciones y Remove . Por ejemplo:

Set-RecipientFilterConfig -BlockedRecipients @{Add="carter@contoso.com", "sam@northwindtraders.com", "brian@adatum.com"; Remove="john@contoso.com"}

Si usamos el Get-RecipientFilterConfig | Format-List BlockedRecipients comando de nuevo, podemos ver que se han agregado las direcciones de correo electrónico de Carter, Sam y Brian mientras se ha quitado la dirección de John.

BlockedRecipients : {brian@adatum.com, sam@northwindtraders.com, carter@contoso.com, chris@contoso.com, kim@northwindtraders.com}