Administrar grupo de distribución usando PowerShell en Office 365 | Agregar miembros al grupo de distribución existente | Parte 3#5
El artículo actual es el tercer artículo de la serie de cinco artículos, que está dedicado al tema de la administración del grupo de distribución en un entorno basado en Office 365 y Exchange Online mediante PowerShell.
El artículo está dedicado al tema de agregar miembros a un grupo de distribución existente mediante PowerShell.
Administrar grupo de distribución usando PowerShell en Office 365 | Serie de artículos
- Administrar grupo de distribución usando PowerShell en Office 365 | Referencia de comandos de PowerShell | Parte 1#5
- Administrar grupo de distribución usando PowerShell en Office 365 | Creación de un nuevo grupo de distribución y gestión de grupos de distribución existentes | Parte 2#5
- Administrar grupo de distribución usando PowerShell en Office 365 | Agregar miembros al grupo de distribución existente | Parte 3#5
- Administrar grupo de distribución usando PowerShell en Office 365 | ver y exportar información sobre el grupo de distribución | Parte 4#5
- Administrar grupo de distribución usando PowerShell en Office 365 | Eliminar grupo de distribución y miembros | Convertir grupo de distribución | Parte 5#5
Agregar miembros al grupo de distribución: prefijo
En las siguientes secciones, revisamos dos escenarios principales, en los que necesitamos agregar un "NUEVO miembro" al grupo de distribución existente.
- Escenario 1#2: en este escenario, queremos agregar una "masa" de usuarios a un grupo de distribución específico (relación de muchos a uno).
- Escenario 2#2: en este escenario queremos agregar un usuario específico al "grupo" de grupos de distribución (relación de uno a muchos).
La tarea de administración de agregar nuevos miembros al grupo de distribución se implementa mediante el cmdlet de PowerShell a continuación.
Add-DistributionGroupMemberTrabajar con listas de grupos de distribución y listas de miembros de grupos de distribución.
En la siguiente sección, trabajamos con un concepto que puede describirse como "Grupo", "lista" o, si queremos utilizar el término más técnico, "Matriz".
Este término define un contenedor lógico, que "almacena objetos (miembros)
En el escenario específico, usaremos una "matriz" que contiene objetos de usuario u objetos de grupo de distribución.
En nuestro ejemplo, creamos una "matriz" utilizando uno de los siguientes métodos:
- Opción 1: matriz que se crea a partir de la salida de varios comandos de PowerShell.
Por ejemplo, la lista de grupos de distribución existentes que obtenemos del
comando de PowerShell Get-DistributionGroup - Opción 2: usar un archivo como “fuente” para la “matriz”.
En este caso, usamos un archivo (la mayoría de las veces un archivo CSV) que incluye una lista de grupos de distribución, una lista de usuarios, etc. en. - Opción 3: Crear una "matriz" proporcionando manualmente la "lista" del grupo de distribución requerido o una lista de usuarios. En este caso, proporcionamos manualmente el nombre de cada Grupo de Distribución o de cada usuario, separados por una coma.
Escenario 1: agregar un usuario (destinatario) a un grupo de distribución
Este es un escenario simple, en el que deseamos agregar un usuario específico a un grupo de distribución.
En este ejemplo, "escribimos" el nombre del grupo de distribución y el nombre del "miembro" que se agregará al grupo de distribución.
Escenario 1: agregar un usuario (destinatario) a un grupo de distribución
Este es un escenario simple, en el que deseamos agregar un usuario específico a un grupo de distribución.
En este ejemplo, "escribimos" el nombre del grupo de distribución y el nombre del "miembro" que se agregará al grupo de distribución.
Agregar un usuario (destinatario) a un grupo de distribución
Sintaxis del comando de PowerShell:
Add-DistributionGroupMember "<Distribution Group Name>" -Member <Identity>
Ejemplo de comando de PowerShell:
Add-DistributionGroupMember -Identity "Sales UK" -Member BradpAgregar una lista de usuarios a un grupo de distribución específico
En la siguiente sección, revisamos ejemplos de diferentes escenarios, cuyo denominador común es que necesitamos agregar una "lista de usuarios" (matriz) a un grupo de distribución específico.
Este escenario puede describirse como una relación de muchos a uno.
Escenario 1: agregar una “lista de usuarios” (varios usuarios) al grupo de distribución | Importe la "lista de miembros" desde un archivo CSV
En este caso, queremos agregar miembros a un grupo de distribución existente, importando la lista de miembros desde un archivo CSV (valores separados por comas).
En el escenario actual, exportamos información sobre los usuarios de Office 365 a un archivo CSV mediante el siguiente comando de PowerShell:
Ejemplo de comando de PowerShell:
Get-mailbox | Select DisplayName,Alias,PrimarySmtpAddress | Export-CSV c:\temp\Distribution-Groups-Members.csv -NoTypeInformation -Encoding utf8La estructura del archivo CSV y su “lógica”
La estructura del archivo CSV se basa en el concepto de “columna” y “filas”.
En nuestro ejemplo, el archivo CSV incluye una lista de usuarios. Observe que cada usuario (cada fila) puede tener un par de "identidades".
Por ejemplo, cada usuario tiene las siguientes identidades: nombre para mostrar, alias y dirección de correo electrónico principal.
En nuestro ejemplo, nos “relacionamos” con la identidad del usuario, “buscando” la identidad del usuario almacenada en la
columna denominada Dirección de correo electrónico principal.
Técnicamente hablando, podemos elegir la identidad de otro usuario como "DisplayName" o "Alias".
La estructura de comandos de PowerShell.
El script de PowerShell que utilizamos se basa en la siguiente sintaxis:
Importar miembros del grupo de distribución desde un archivo CSV | Estructura de mando
Sintaxis del comando de PowerShell:
lt;Variable> = Import-CSV <path> ForEach (lt;Variable> inlt;Variable>) { Add-DistributionGroupMember -Identity "<DL NAME>" -Memberlt;Variable>.<Identity> }- Parte 1#3: en la primera parte del comando de PowerShell, importamos la información (la lista de usuarios) del archivo CSV. En nuestro ejemplo, "declaramos" una variable denominada $UsersList que servirá como contenedor lógico para el contenido del archivo CSV.
- Parte 2#3: en la segunda parte del comando de PowerShell, utilizamos la instrucción de PowerShell "ForEach" para ejecutar un "proceso de bucle".
- El “proceso de bucle” de PowerShell utiliza una variable adicional llamada $User.
- La variable $User sirve como contenedor "temporal" que almacenará una identidad de usuario específica para cada "ciclo" en el proceso de bucle.
- Parte 3#3: este es el "comando de PowerShell real" que usamos (Add-DistributionGroupMember) para agregar cada uno de los usuarios que aparecen en el archivo CSV a un grupo de distribución específico.
En nuestro ejemplo, el nombre del grupo de distribución es “Marketing USA“
Observe que nos relacionamos con el miembro del grupo de distribución mediante el uso de una combinación de la variable $User que está "adjunta" a la columna específica en el archivo CSV denominado PrimarySmtpAddress, mediante el uso la siguiente convención $User.PrimarySmtpAddress.
En otras palabras, le indicamos al proceso de bucle de PowerShell que utilice PrimarySmtpAddress como identidad de usuario.
Importar miembros del grupo de distribución desde un archivo CSV
Ejemplo de comando de PowerShell:
$Userslist = Import-CSV C:\Temp\Distribution-Groups-Members.csv
ForEach ($User in $Userslist)
{
Add-DistributionGroupMember -Identity "Sales France" -Member $User.PrimarySmtpAddress
}Escenario 2: agregar una “lista de usuarios” al grupo de distribución | Usuarios cuyo departamento sea igual a X.
En este escenario, nuestra misión es encontrar todos los usuarios cuyo departamento sea Ventas, y estos usuarios a un Grupo de Distribución llamado "Ventas en todo el mundo".
En nuestro ejemplo, la organización tiene un par de departamentos de ventas, como Ventas EE.UU., Ventas Reino Unido, etc.
Para cumplir con este requisito, creamos la lista requerida de usuarios ejecutando un comando de PowerShell que realiza una búsqueda filtrada.
La búsqueda filtrada de PowerShell buscará todos los usuarios cuyo departamento comience con la cadena Ventas*.
Usamos la variable $SalesUsers para almacenar esta información sobre la lista de usuarios.
En el siguiente paso, ejecutamos un proceso de bucle de PowerShell, que utilizará la información almacenada en la
variable - $SalesUsers y agregará cada uno de los miembros almacenados en $SalesUsers. variable al Grupo de Distribución Ventas a nivel mundial.
Agregar al Grupo de Distribución todos los usuarios cuyo departamento sea Ventas*
Ejemplo de comando de PowerShell:
$SalesUsers = Get-User | Where {$_.Department -like "Sales*"}
foreach ($User in $SalesUsers)
{
Add-DistributionGroupMember -Identity "Sales worldwide" -Member $User.name
}Agregar un usuario (destinatario) a varios grupos de distribución (modo masivo)
En la siguiente sección, revisamos ejemplos de diferentes escenarios, cuyo denominador común es: la necesidad de agregar un usuario específico a un grupo de distribución "varios" o "múltiples" (matriz) al mismo tiempo.
Este escenario puede describirse como una relación de uno a muchos.
Escenario 1 | Agregar usuario (destinatario) a múltiples grupos de distribución | Proporcionar manualmente el nombre de cada Grupo de Distribución.
En esta sección, me gustaría revisar el escenario en el que queremos agregar un usuario específico como miembro a una lista (matriz) de grupos de distribución.
La información sobre el "grupo de distribución de destino" se escribirá como parte del comando de PowerShell y se almacenará en una variable.
- El usuario que queremos agregar como miembro a los distintos grupos de distribución es: Brad.
El comando de PowerShell que utilizamos incluye dos partes:
- Parte 1#2: en la primera parte del comando de PowerShell, definimos la variable de PowerShell denominada $GroupList, que sirve como un "contenedor lógico" para la "matriz" de los grupos de distribución. En otras palabras, definir la lista del Grupo de Distribución al que se va a agregar el usuario.
Parte 2#2: en la segunda parte del comando de PowerShell, utilizamos la instrucción de PowerShell "ForEach" para ejecutar un "proceso de bucle". El “proceso de bucle” de PowerShell le indica a PowerShell que:
- “Obtener” la información almacenada en $GroupList
- "Obtenga" el nombre del primer grupo de distribución de la lista.
- Agregue el nombre de usuario como miembro del grupo de distribución.
Después del bucle de PowerShell, el proceso completa la tarea relacionada con el "primer grupo de distribución" en la "lista", el proceso del bucle de PowerShell comienza el proceso de nuevo con el "segundo grupo de distribución" en la lista hasta el "final" o el apellido en la lista.
Agregar usuario (destinatario) a múltiples grupos de distribución
Sintaxis del comando de PowerShell:
$Variable = "<Distribution Group name>","<Distribution Group name>","<Distribution Group name>"
ForEach ($item in $Variable)
{Add-DistributionGroupMember -Identity $item -Member <Identity>}Ejemplo de comando de PowerShell:
$DistributionGroupsList = "Sales UK","Sales USA","Sales Italy"
ForEach ($item in $DistributionGroupsList)
{
Add-DistributionGroupMember -Identity $item -Member Bradp
-BypassSecurityGroupManagerCheck
}Escenario 2 | Agregar usuario (destinatario) a múltiples grupos de distribución | Usar el comando de PowerShell para obtener una lista de todos los grupos de distribución existentes.
En este escenario, queremos agregar un usuario específico a todos los grupos de distribución existentes.
Para poder cumplir con este requisito, necesitamos definir una "matriz" que incluya todos los grupos de distribución disponibles.
El array del Grupo de Distribución se definirá de la siguiente manera:
Usaremos una variable llamada $ALLDistributionGroups, que almacenará la salida del comando de PowerShell Get-Distribution group -resultsize unlimited.
En la segunda parte del comando de PowerShell, utilizamos la instrucción de PowerShell ForEach para ejecutar un "proceso de bucle" en los resultados (la matriz incluye la lista de grupos de distribución existentes).
Un ejemplo de la sintaxis de PowerShell que utilizamos es:
Agregar usuario (destinatario) a múltiples grupos de distribución
Ejemplo de comando de PowerShell:
$ALLDistributionGroups = Get-Distributiongroup -resultsize unlimited
ForEach ($item in $ALLDistributionGroups)
{
Add-DistributionGroupMember -Identity $item -Member Bradp
}Escenario 3 | Agregar usuario (destinatario) a múltiples grupos de distribución | lea la información sobre la lista del grupo de distribución desde un archivo CSV.
En este ejemplo, la información sobre la "lista de grupos de distribución" se almacena en un archivo CSV. Técnicamente hablando, el archivo CSV puede incluir muchas "columnas de información" adicionales, además de la columna específica que incluye los nombres de los grupos de distribución.
En nuestro ejemplo específico, la columna que incluye los nombres de los grupos de distribución denominada "Nombredelgrupo".
Es importante mencionar que el nombre del encabezado de la columna no es un "nombre predefinido" ni un nombre obligatorio.
En cambio, el nombre de la columna es solo un nombre arbitrario que nosotros elegimos. La única “restricción” es que el nombre del encabezado no contendrá ningún espacio.
- En la primera parte del comando de PowerShell, definimos una variable llamada $DistributionGroupsList, que almacena el contenido del archivo CSV (el archivo CSV que contiene la lista de los Grupos de Distribución).
- La segunda parte del comando de PowerShell "accederá" a la información almacenada en la columna Nombre del grupo.
Agregar usuario a varios grupos de distribución enumerados en un archivo CSV
Ejemplo de comando de PowerShell:
$DistributionGroupsList = Import-CSV C:\Temp\Distribution-Group-list.csv
ForEach ($Group in $DistributionGroupsList)
{
Add-DistributionGroupMember -Identity $Group.GroupName -Member Brad
}Escenario 4 | Agregar usuario (destinatario) a múltiples grupos de distribución | obtenga una lista del grupo de distribución que se creó en las últimas X horas.
En el siguiente ejemplo, queremos agregar al usuario Brad como miembro de todos los grupos de distribución que se crearon en las últimas 48 horas.
- Parte 1#2: en la primera parte del comando de PowerShell, definimos la variable de PowerShell denominada $AllNewDistributionGroups. La variable $AllNewDistributionGroups almacenará el resultado de una consulta de PowerShell que "busca" todo el grupo de distribución cuyo "tiempo de creación" es menor o igual a las últimas 40 horas.
- Parte 2#2: en la segunda parte del comando de PowerShell, utilizamos la instrucción de PowerShell "ForEach" para ejecutar un "proceso de bucle" en los resultados. El comando de PowerShell se relacionará con cada uno de los grupos de distribución mediante el uso de la variable $Group que usará la propiedad "nombre" del objeto del grupo de distribución.
Agregar usuario a grupos de distribución creados en las últimas 48 horas
Ejemplo de comando de PowerShell:
$AllNewDistributionGroups = Get-DistributionGroup | Where {$_.WhenCreated -ge ((Get-Date).AddHours(-48))}
ForEach ($Group in $AllNewDistributionGroups)
{
Add-DistributionGroupMember -Identity $Group.name -Member Bradp
}Escenario 5: agregar un usuario al grupo de distribución solo si el usuario aún no es miembro del grupo de distribución
En el siguiente escenario, deseamos verificar si un usuario específico es miembro de un grupo de distribución; si el usuario no es miembro del grupo de distribución, queremos agregarlo como miembro del grupo de distribución.
Descripción del escenario
- El usuario que queremos verificar es - Bob.
- El nombre del grupo de distribución es: Sales France.
Para poder cumplir con este requisito, podemos utilizar el siguiente comando de PowerShell
Ejemplo de comando de PowerShell:
$Recipient = Get-Recipient -Identity bob
$Group = get-DistributionGroup -Identity 'Sales France'
$GetMember = Get-DistributionGroupMember $Group.name
if ($Group.name -notcontains $Recipient.Name)
{Add-DistributionGroupMember -Identity $Group.Name -Member $Recipient.Name}El siguiente artículo de la serie de artículos actual
- Administrar grupo de distribución usando PowerShell en Office 365 | ver y exportar información sobre el grupo de distribución | Parte 4#5








