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 la propiedad con varios valores
|
Action
|
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 en la tabla de sintaxis de las propiedades con varios valores se especifica como 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. Si retomamos el ejemplo anterior de BlockedRecipients expuesto en este tema, ahora podemos agregar chris@contoso.com sin sobrescribir el resto de valores de esta propiedad, ejecutando el comando siguiente:
Set-RecipientFilterConfig -BlockedRecipients @{Add="chris@contoso.com"}
Si quiere quitar david@adatum.com de la lista de valores, debería ejecutar el comando siguiente:
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, debe insertar un punto y coma (;) entre las acciones Add y Remove. Por ejemplo:
Set-RecipientFilterConfig -BlockedRecipients @{Add="carter@contoso.com", "sam@northwindtraders.com", "brian@adatum.com"; Remove="john@contoso.com"}
Si volvemos a ejecutar el comando Get-RecipientFilterConfig | Format-List BlockedRecipients, veremos que las direcciones de correo electrónico de Carter, Sam y Brian se han agregado y que la dirección de John se ha eliminado.
BlockedRecipients : {brian@adatum.com, sam@northwindtraders.com, carter@contoso.com, chris@contoso.com, kim@northwindtraders.com}