Social Icons

twitter facebook google plus linkedin

lunes, 20 de octubre de 2014

Agregar direcciones a una casilla en Exchange 2013 a través de Powershell

Hola Mundo:

Cada casilla de correo, en cualquier plataforma, puede tener distintas direcciones de correo
electrónico.

Exchange 2013 incluye esta característica y, además, es configurable a través de la interfaz web. Es bastante cómodo cuando es para un solo usuario y solo un par de direcciones y no lo es para cuando son 700 y debe hacerse a través de un script.

Para completar esta acción se debe hacer a través de la consola Powershell para Exchange 2013.

Bien. Supongamos que tenemos un CSV (llamado archivo.csv) con la información que se requiere y se tiene en el siguiente formato:

alias, emailaddresses 
usuario1,"[email protected],[email protected]
usuario2,"[email protected],[email protected]
usuario3,"[email protected],[email protected]
usuario4,"[email protected], [email protected]"

Se tiene 4 usuarios y cada usuario tiene 3 direcciones de email asociadas a su casilla. Es importante que las cuentas estén creadas antes de poder asociar más direcciones de correo electrónico  a las casillas. Entonces si las cuentas ya están creadas, no queda más que modificarlas usando el cmdlet Set-Mailbox

El cmdlet Set-Mailbox tiene un parámetro -EmailAddresses donde se indican todas las direcciones de correo electrónico que están asociadas a la casilla. Tiene un tipo de datos especial, por lo que hay que trabajarlo en el script para que pueda convertirlo de forma simple el valor (o los valores) que le entreguemos.

Entonces el script quedaría así:

Import-Csv "archivo.csv" | ForEach-Object {

$correos = $_."emailaddresses" -split ',' 

Set-Mailbox -Identity $_."alias" -EmailAddresses @{add=$correos}  

}


De esta forma, le estaría diciendo al sistema que tengo un set de direcciones de correos electrónicos, separados por una coma, para la casilla identificada con el alias.

¡Chau!