Agregar direcciones de correo electrónico mediante PowerShell: importar desde un archivo CSV | Modo masivo | Oficina 365 | Parte 5#13
En el artículo actual, revisamos la forma en que usamos PowerShell para agregar y actualizar la dirección de correo electrónico del destinatario de Exchange, importando la información almacenada en un archivo CSV.
Administrar la dirección de correo electrónico mediante el uso de un archivo CSV | modo masivo
En la siguiente sección, revisamos un par de escenarios en los que implementamos la tarea de administrar la tarea "Dirección de correo electrónico", como por ejemplo agregar una dirección de correo electrónico importando la información desde un archivo CSV.
El archivo CSV sirve como un "contenedor lógico" que contiene datos.
En nuestro escenario, el CSV sirve como un contenedor que contiene datos sobre los usuarios de Office 365 y su dirección de correo electrónico que nos gustaría agregar a los destinatarios de Exchange.
La estructura de un archivo CSV que usamos en nuestro escenario.
Cada una de las columnas del archivo CSV tiene un nombre de encabezado.
Cuando necesitamos abordar información almacenada en una columna específica, proporcionamos el comando de PowerShell el nombre del encabezado de columna específico.
En la siguiente captura de pantalla, podemos ver un ejemplo de un archivo CSV que usamos en nuestra demostración.
Técnicamente hablando, el archivo CSV es solo un archivo de texto y podemos usar un editor de texto simple para editar el contenido del archivo.
La mayoría de las veces, usaríamos otra aplicación como Microsoft Excel para editar un archivo CSV porque además editar los datos usando Excel es cómodo.
En la siguiente captura de pantalla, podemos ver un ejemplo del archivo CSV que se abrió en Excel.
El archivo CSV incluye tres columnas:
- La columna denominada - Destinatario (número 1), contiene nuestra "identidad del destinatario". Técnicamente hablando, podemos utilizar varias propiedades del destinatario para definir la "identidad del destinatario".
Por ejemplo, alias del destinatario, dirección de correo electrónico del destinatario, nombre para mostrar del destinatario y más. En nuestro ejemplo específico, utilizamos el destinatario “Nombre para mostrar” como identidad del destinatario. - La columna denominada - PrimaryEmail (número 2) contiene una dirección de correo electrónico de usuario que nos gustaría establecer como “Dirección de correo electrónico principal”. .”
- La columna denominada - AliasEmail (número 3), contiene una dirección de correo electrónico de usuario que nos gustaría establecer como
un “Alias E -Correo Electronico."
Nombres de encabezado de columna de archivo CSV
Cuando utilizamos un archivo CSV, podemos "elegir" cualquier nombre de encabezado de columna que se adapte a nuestras necesidades.
Se recomienda elegir un nombre de encabezado de columna significativo y que no utilice espacios.
Importar información desde un archivo CSV
La mayoría de las veces, "obtenemos" la información almacenada en el archivo CSV, definiendo una variable que incluye el contenido del comando de PowerShell Importar-CSV.
En nuestro ejemplo, definimos una variable llamada $Recipients, que "contendrá" el contenido del archivo CSV que importamos.
$Recipients = Import-Csv C:\Temp\Recipient-E-mail-addresses.csvExportar información desde un archivo CSV
El funcionamiento de “importar información desde un archivo CSV” se basa en un paso previo en el que exportamos la información requerida a un archivo CSV. Puede leer más información sobre el proceso de la sintaxis de PowerShell que utilizamos para exportar información a varios tipos de formatos de archivo en los artículos - Exportar y mostrar información sobre direcciones de correo electrónico usando PowerShell | Oficina 365 | Parte 6#13
Respecto al tema de “cuál es la información que exportamos a un archivo”, puedes leer el artículo - Mostrar información sobre Direcciones de Correo Electrónico usando PowerShell | Personalizar la salida usando tabla hash y expresiones personalizadas | Oficina 365 | Parte 7#13
1. Actualice la dirección de correo electrónico principal + proxy importando información desde un archivo CSV | modo masivo
En el siguiente ejemplo, debemos cumplir los siguientes requisitos:
- Reemplace (elimine) la dirección de correo electrónico principal existente con una NUEVA dirección de correo electrónico principal almacenada en un archivo CSV.
- Reemplace (elimine) el alias de correo electrónico existente con una NUEVA dirección de correo electrónico de alias almacenada en un archivo CSV.
Es importante enfatizar que en un escenario en el que el archivo CSV incluye el nombre de los destinatarios de Exchange Online que ya tienen direcciones de correo electrónico, el “proceso de importación ” del archivo CSV afectará la dirección de correo electrónico
existente de la siguiente manera:
- La dirección de correo electrónico principal del destinatario existente de Exchange Online se guardará como una dirección de correo electrónico proxy.
- La "dirección de correo electrónico principal" del archivo CSV reemplazará la dirección de correo electrónico principal existente.
- Cualquier dirección de correo electrónico proxy existente será “eliminada” (eliminada).
Si cree que esta “lógica de PowerShell” le confunde, lea la sección -
Reemplazar la dirección de correo electrónico existente con una NUEVA dirección de correo electrónico.
Tenga en cuenta que en este escenario, la dirección de correo electrónico existente será “eliminada” (eliminada) y reemplazada por la dirección de correo electrónico que aparece en el archivo CSV, debajo de las columnas: PrimaryEmail y AliasEmail.
En nuestro ejemplo, solicitamos desde PowerShell que establezcamos dos direcciones de correo electrónico para cada uno de los destinatarios.
- La primera dirección de correo electrónico se define como - $Mailbox.PrimaryEmail y PowerShell la “tratará” como la dirección de correo electrónico principal.
- La “segunda dirección de correo electrónico” se define como - $Mailbox.AliasEmail y PowerShell la “tratará” como la dirección de correo electrónico de alias.
Solo un recordatorio rápido, PowerShell se relacionará con la primera dirección de correo electrónico como la dirección de correo electrónico principal y con el resto de las direcciones de correo electrónico como direcciones de correo electrónico de alias (proxy).
La sintaxis del comando de PowerShell que utilizamos en nuestros ejemplos es:
$Recipients = Import-Csv C:\Temp\Recipient-E-mail-addresses.csv
Foreach ($Mailbox in $Recipients)
{
Set-Mailbox -Identity $Mailbox.Recipient -EmailAddresses $Mailbox.PrimaryEmail,$Mailbox.AliasEmail #-WhatIf
}2. Actualice la dirección de correo electrónico principal + proxy importando información desde un archivo CSV | Mantener las direcciones de correo electrónico de los destinatarios existentes | modo masivo
En el siguiente ejemplo, debemos cumplir los siguientes requisitos:
- Reemplace (elimine) la dirección de correo electrónico principal existente con una NUEVA dirección de correo electrónico principal almacenada en un archivo CSV.
- Agregue NUEVA dirección de correo electrónico de alias desde un archivo CSV. La NUEVA dirección de correo electrónico se agregará a la dirección de correo electrónico del destinatario existente como una dirección de correo electrónico adicional.
Tenga en cuenta que, en comparación con el escenario anterior, no deseamos eliminar direcciones de correo electrónico de alias existentes que el destinatario ya tenga. En su lugar, queremos agregar una dirección de correo electrónico adicional a la "matriz" existente de direcciones de correo electrónico del destinatario.
Paso 1: La información sobre el destinatario de Exchange Online + las direcciones de correo electrónico adicionales almacenadas en el archivo CSV.
Rellenaremos la variable denominada $Recipients con el información almacenada en el archivo CSV mediante el comando de PowerShell Importar-CSV.
En nuestro ejemplo, la información sobre la dirección de correo electrónico alias se guarda en una columna con el nombre del encabezado AliasEmail.
Paso 2: en este paso, le pedimos a PowerShell que agregue una dirección de correo electrónico adicional (dirección de correo electrónico alias) a la “matriz de direcciones de correo electrónico” existente, para cada destinatario que aparece. en el archivo CSV, utilizando el método @{Add.
$Recipients = Import-Csv C:\Temp\Recipient-E-mail-addresses.csv
Foreach ($Mailbox in $Recipients)
{
Set-Mailbox -Identity $Mailbox.Recipient -EmailAddresses @{Add=$Mailbox.AliasEmail} # -WhatIf
}3. Agregue varias direcciones de correo electrónico proxy importando información desde un archivo CSV | modo masivo
En el siguiente escenario, necesitamos agregar a nuestros destinatarios direcciones de correo electrónico proxy adicionales que se almacenan en un archivo CSV.
- El archivo CSV almacena las direcciones de correo electrónico proxy en una columna denominada “AliasEmail ”.
- El nombre de los destinatarios se almacena en una columna denominada “Destinatario”.
En la siguiente captura de pantalla podemos ver la estructura del archivo CSV.
La columna "AliasEmail" incluye varias direcciones de correo electrónico separadas por el carácter de punto y coma ;.
Necesitamos usar un comando de PowerShell, que recuperará cada una de las direcciones de correo electrónico almacenadas en la columna denominada AliasEmail y las agregará como una dirección de correo electrónico proxy para el destinatario.
Para poder “decirle” al comando de PowerShell que la información en el AliasEmail incluye múltiples valores separados por el carácter punto y coma ;, usamos el parámetro de PowerShell -split .
La sintaxis del comando de PowerShell que utilizamos es:
Import-Csv C:\temp\Recipient-Proxy-E-mail-addresses.csv | ForEach-Object{
$Recipient = $_.Recipient
$ProxyAddresses = $_.AliasEmail -split ';'
Set-Mailbox -Identity $Recipient -EmailAddresses @{add= $ProxyAddresses}
}El próximo artículo de la serie de artículos actual.
Exportar y mostrar información sobre direcciones de correo electrónico usando PowerShell | Oficina 365 | Parte 6#13


