Modificar propiedades con varios valores
Se aplica a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Última modificación del tema: 2007-08-13
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.
¿Qué es una propiedad con varios valores?
Una propiedad con varios valores es una propiedad que puede tener más de un valor. Por ejemplo, la propiedad BlockedRecipients
en el objeto RecipientFilterConfig
puede aceptar varias direcciones de destinatario, tal como se muestra en los siguientes ejemplos:
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.
Para obtener más información acerca de objetos, consulte Datos estructurados.
¿Por qué es diferente modificar una propiedad con varios valores?
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 como se muestra en el siguiente comando:
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 de la propiedad 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 de agregar una nueva dirección de Protocolo simple de transferencia de correo (SMTP) a la lista de destinatarios bloqueados. Ejecuta el siguiente comando para agregar la nueva dirección SMTP:
Set-RecipientFilterConfig -BlockedRecipients chris@contoso.com
Cuando vuelva a ejecutar el comando Get-RecipientFilterConfig | Format-List BlockedRecipients
, verá lo siguiente:
BlockedRecipients : {chris@contoso.com}
Esto no es lo que usted esperaba. Lo que quería era agregar la dirección SMTP nueva a la lista de destinatarios bloqueados existente. Pero en lugar de ello se ha sobrescrito la lista de recipientes bloqueados existente con la nueva dirección SMTP. Es en esto en lo que se diferencia la modificación de una propiedad con varios valores de la de una propiedad que acepta un sólo valor. Al modificar una propiedad con varios valores se debe estar seguro de que se anexan o quitan valores en lugar de sobrescribir la totalidad de la lista de los mismos. Las siguientes secciones muestran exactamente cómo hacerlo.
Nota
Algunos cmdlets, como Set-TransportRule, no admiten realizar modificaciones de propiedades en objetos de la manera que se describe en este tema. Para obtener más información acerca de cómo agregar y quitar valores de las propiedades con varios valores de estos cmdlets, consulte los temas sobre los mismos, como Set-TransportRule.
Para modificar propiedades con varios valores, debe entender los siguientes conceptos:
Cómo anexar un valor a una propiedad con varios valores
Anexar un valor a una propiedad con varios valores es muy sencillo. Sólo requiere unos cuantos pasos adicionales. De nuevo, asumamos que la propiedad BlockedRecipients tiene los valores que están enumerados en la primera sección.
En primer lugar, debe recuperar el objeto que desea modificar y asignárselo a una variable. Por ejemplo, use el siguiente comando para asignar el objeto RecipientFilterConfig a la variable $Example
:
$Example = Get-RecipientFilterConfig
Al ejecutar el comando $Example | Format-List BlockedRecipients
, se muestra lo siguiente:
BlockedRecipients : {david@adatum.com, kim@northwindtraders.com, john@contoso.com}
A continuación, debe agregar el valor que desea anexar a la propiedad BlockedRecipients en el objeto almacenado en la variable $Example
. Tenga en cuanta que este paso sólo agrega el valor al objeto almacenado en la variable. Para agregar chris@contoso.com
a la propiedad BlockedRecipients del objeto almacenado en la variable $Example
, ejecute el siguiente comando:
$Example.BlockedRecipients += "chris@contoso.com"
Al volver a ejecutar el comando $Example | Format-List BlockedRecipients
, se muestra lo siguiente:
BlockedRecipients : {david@adatum.com, kim@northwindtraders.com, john@contoso.com, chris@contoso.com}
Como puede ver, la dirección SMTP chris@contoso.com
se ha agregado a la lista de los valores almacenados en la propiedad BlockedRecipients.
Finalmente, debe guardar el objeto almacenado en $Example
mediante el siguiente comando:
Set-RecipientFilterConfig -BlockedRecipients $Example.BlockedRecipients
Ahora, al ejecutar el comando Get-RecipientFilterConfig | Format-List BlockedRecipients
, verá que la dirección SMTP chris@contoso.com
se ha agregado al servidor.
Anexar varios valores a una propiedad con varios valores
Si desea anexar varios valores a la vez a una propiedad con varios valores, realice los mismos pasos que se han descrito anteriormente. Al especificar los valores que desea anexar, sepárelos con comas, como en el ejemplo siguiente:
$Example.BlockedRecipients += "user1@contoso.com", "user2@contoso.com", "user3@contoso.com"
Una vez haya especificado los valores que desea agregar, use el cmdlet Set-RecipientFilterConfig para guardar el objeto.
Nota
Algunos cmdlets no permiten anexar varios valores al mismo tiempo.
Cómo quitar un valor de una propiedad con varios valores
Es posible que desee quitar solamente un valor de una propiedad con varios valores en lugar de quitarlos todos a la vez. Quitar un valor de una propiedad con varios valores es como anexarlo. No obstante, a diferencia de la anexión de valores, aquí se deben quitar uno por uno. De nuevo, asumamos que la propiedad BlockedRecipients tiene los valores que están enumerados en la primera sección.
En primer lugar, debe asignar el objeto que desea modificar a una variable, como en el ejemplo siguiente:
$Example = Get-RecipientFilterConfig
A continuación, ejecute el siguiente comando, que especifica el valor exacto que desea quitar:
$Example.BlockedRecipients -= "david@contoso.com"
Finalmente, guarde el objeto almacenado en la variable como se indica a continuación:
Set-RecipientFilterConfig -BlockedRecipients $Example.BlockedRecipients
Ejemplos de anexión de valores a propiedades con varios valores
Los siguientes procedimientos del Shell de administración de Exchange son ejemplos de cómo anexar valores a algunas de las propiedades con varios valores disponibles en varios objetos de Microsoft Exchange Server 2007.
Para anexar una dirección SMTP a un buzón
Ejecute los siguientes comandos:
$Mailbox = Get-Mailbox "Kim Akers" $Mailbox.EmailAddresses += "kim@contoso.com" Set-Mailbox "Kim Akers" -EmailAddresses $Mailbox.EmailAddresses
Ejecute el siguiente comando para ver el buzón actualizado:
Get-Mailbox "Kim Akers" | Format-List Name, EmailAddresses
Para anexar códigos de notificación del estado de entrega (DSN) adicionales en la propiedad GenerateCopyOfDSNFor
Ejecute los siguientes comandos:
$DsnList = Get-TransportConfig $DsnList.GenerateCopyOfDSNFor += "5.4.7", "5.7.1", "5.7.2" Set-TransportConfig -GenerateCopyOfDSNFor $DsnList.GenerateCopyOfDSNFor
Ejecute el siguiente comando para ver los códigos DSN actualizados:
Get-TransportConfig | Format-List GenerateCopyOfDSNFor
Ejemplos de cómo quitar de valores de propiedades con varios valores
Los siguientes procedimientos son ejemplos de cómo quitar valores de algunas de las propiedades con varios valores disponibles en varios objetos de Exchange 2007.
Para quitar el dispositivo ID de un dispositivo Exchange ActiveSync habilitado desde un buzón de servidor de acceso de cliente (CAS)
Ejecute los siguientes comandos
$CasDevice = Get-CasMailbox "David Simpson" $CasDevice.ActiveSyncAllowedDeviceIDs -= "4B9207650054767AD0AEE83A414BCD7F" Set-CasMailbox "David Simpson" -ActiveSyncAllowedDeviceIDs $CasDevice.ActiveSyncAllowedDeviceIDs
Ejecute el siguiente comando para ver el buzón CAS actualizado:
Get-CasMailbox "David Simpson" | Format-List Name, ActiveSyncAllowedDeviceIDs
Para quitar un buzón de una lista de buzones con permiso de "enviar en nombre de" en el grupo de distribución
Ejecute el siguiente comando:
$DistributionGroup = Get-DistributionGroup "Sales Group" $DistributionGroup.GrantSendOnBehalfTo -= (Get-Maibox "Christine Hughes").Identity Set-DistributionGroup "Sales Group" -GrantSendOnBehalfTo $DistributionGroup.GrantSendOnBehalfTo
Ejecute el siguiente comando para ver el grupo de distribución actualizado:
Get-DistributionGroup "Sales Group" | Format-List Name, GrantSendOnBehalfTo
Para obtener más información
Para obtener más información acerca de las características tratadas en este tema, consulte los siguientes temas: