Cómo agregar miembros al grupo de distribución con PowerShell
Puede agregar varios usuarios a una lista de distribución existente o a un grupo de seguridad habilitado para correo en los portales de administración de Microsoft. Pero con PowerShell, es mucho más rápido y se utiliza un archivo CSV para agregar miembros a varios grupos de listas de distribución. En este artículo, aprenderá cómo agregar miembros a un grupo de distribución con PowerShell.
Conéctese a Exchange Online PowerShell
Para poder ejecutar comandos de PowerShell, debe conectarse a Exchange Online PowerShell. Abra Windows PowerShell como administrador, ejecute el cmdlet siguiente e inicie sesión con sus credenciales de administrador.
Connect-ExchangeOnlineError de Add-DistributionGroupMember: no tienes permiso suficiente
Cada grupo de distribución tiene al menos un administrador (propietario). Significa que solo el administrador del grupo de distribución puede realizar estas tareas de administración. Entonces, cuando el administrador de Exchange Online intenta actualizar las propiedades del grupo de distribución con el cmdlet Add-DistributionGroupMember y no es el administrador de este grupo de distribución, aparece el siguiente mensaje de error.
Error: No tienes permisos suficientes. Esta operación sólo puede ser realizada por un responsable del grupo.
Tenga en cuenta que ni siquiera un usuario con credenciales de administrador global puede agregar un miembro ni realizar cambios en un grupo de distribución. El hecho de que usted no sea el administrador del grupo de distribución podría impedirle completar la tarea de administración requerida.
Los cmdlets de PowerShell que necesita usar para administrar un grupo de distribución incluyen un parámetro denominado -BypassSecurityGroupManagerCheck. Entonces, siempre que intente realizar una tarea de administración y aparezca el error de permiso, puede agregar el parámetro -BypassSecurityGroupManagerCheck al comando original de PowerShell.
Vea el ejemplo de sintaxis del comando de PowerShell.
Add-DistributionGroupMember "Distribution Group" -Member "Identity" -BypassSecurityGroupManagerCheckEjecute el ejemplo del comando PowerShell.
Add-DistributionGroupMember "SalesUK@m365info.com" -Member "Amanda.Morgan@m365info.com" -BypassSecurityGroupManagerCheckEn nuestro ejemplo, cualquiera puede agregar un miembro al grupo de distribución (Sales UK).
Agregar usuarios al grupo de distribución
Siempre puede agregar un usuario como nuevo miembro a un grupo de distribución existente. Te mostraremos diferentes situaciones:
- Agregar un solo miembro a un grupo de distribución existente
- Agregar usuarios masivos a un único grupo de distribución existente
- Agregar varios usuarios a un único grupo de distribución existente
- Agregar usuarios masivos a todos los grupos de distribución existentes
Para ello, necesitamos utilizar el cmdlet de PowerShell Add-DistributionGroupMember.
Agregar miembro al grupo de distribución
Siempre es posible agregar un miembro específico a un grupo de distribución existente.
Consulte la sintaxis del comando de PowerShell.
Add-DistributionGroupMember "Distribution Group" -Member "Identity" -BypassSecurityGroupManagerCheckEjecute el siguiente ejemplo de comando de PowerShell.
Add-DistributionGroupMember -Identity "SalesUK@m365info.com" -Member "Amanda.Hansen@m365info.com" -BypassSecurityGroupManagerCheckAgregar usuarios desde CSV a un grupo de distribución específico
Queremos agregar varios miembros a un grupo de distribución existente importando una lista de todos los usuarios desde un archivo CSV con PowerShell.
- Ejecute el comando PowerShell para exportar una lista de todos los buzones de correo de usuarios activos en su organización
Get-Mailbox -ResultSize Unlimited | Select DisplayName, Alias, PrimarySmtpAddress | Export-Csv "C:\temp\Distribution Group Members.csv" -NoTypeInformation -Encoding UTF8- Vaya a la carpeta C:\temp
- Abra el archivo CSV para ver la lista de todos los buzones de correo de los usuarios.
- Cada usuario tiene varias identidades, como Nombre para mostrar, Alias y Dirección SMTP principal.
- Puede editar la lista y eliminar los usuarios que no desea agregar como miembros del grupo de distribución (opcional)
En nuestro ejemplo, queremos agregar esta lista de usuarios a un grupo de distribución específico llamado Sales France.
- Escriba la identidad del grupo de distribución específico en la línea número 3 del siguiente script.
- Ejecute el siguiente script de PowerShell
$Userslist = Import-Csv "C:\temp\Distribution Group Members.csv"
ForEach ($User in $Userslist) {
Add-DistributionGroupMember -Identity "SalesFrance@m365info.com" -Member $User.PrimarySmtpAddress -BypassSecurityGroupManagerCheck
}Nota: Recibirá un mensaje en el resultado si el usuario ya es miembro del grupo o si no existe.
Add-DistributionGroupMember: Ex93E602|Microsoft.Exchange.Management.Tasks.MemberAlreadyExistsException|The recipient
"David.Kent@m365info.com" is already a member of the group "Sales France".
Add-DistributionGroupMember: Ex94914C|Microsoft.Exchange.Configuration.Tasks.ManagementObjectNotFoundException|Couldn't
find object "Mary.James@m365info.com". Please make sure that it was spelled correctly or specify a different object.Agregue todos los usuarios de un departamento específico al grupo de distribución
Puede agregar todos los usuarios de un departamento específico de su organización, como Ventas, a un grupo de distribución existente.
En nuestra organización, tenemos varios departamentos de ventas, como Sales UK, Sales USA y Sales France.
Queremos obtener todos los usuarios de todos los departamentos de Ventas y agregarlos como miembros al grupo de lista de distribución AllSalesDepartments.
- Necesitamos encontrar todos los usuarios del departamento de Ventas usando la cadena de PowerShell Ventas*.
- Usamos la variable $SalesUsers para almacenar esta información sobre la lista de usuarios.
- Luego, ejecutamos un proceso de bucle de PowerShell, que utilizará la información almacenada en la variable $SalesUsers y agregará cada miembro almacenado en la variable $SalesUsers al grupo de distribución
Todos los departamentos de ventas.
Ejecute el siguiente script de PowerShell.
$SalesUsers = Get-User | Where { $_.Department -like "Sales*" }
foreach ($User in $SalesUsers) {
Add-DistributionGroupMember -Identity "AllSalesDepartments@m365info.com" -Member $User.Name -BypassSecurityGroupManagerCheck
}
Logró agregar miembros al grupo de distribución existente con PowerShell.
Agregue miembros de forma masiva a varios grupos de distribución desde CSV
Puede agregar usuarios existentes como miembros a varias listas de distribución y grupos de seguridad habilitados para correo desde un archivo CSV. Debe crear un CSV que consta de dos columnas. Una columna que incluye una lista de grupos de distribución y una columna con los usuarios existentes que desea agregar como miembro.
Cree un archivo CSV con dos columnas:
- Abra el Bloc de notas o Microsoft Excel
- Escriba Nombre del grupo en la parte superior de la primera columna.
- Enumere el grupo de distribución existente dirección SMTP principal
- Escriba Miembro en la parte superior de la segunda columna.
- Enumere el UserPrincipalName de los miembros.
Nota: El nombre de la columna GroupName no debe contener ningún espacio y los grupos de distribución deben existir.
Vea el siguiente ejemplo de archivo CSV.
- Crea la carpeta temp si aún no la tienes en la unidad (C:)
- Asigne al archivo el nombre DL Group Members.csv.
- Guardar como tipo CSV (delimitado por comas (*.csv)
- Haga clic en Guardar
- Ejecute el siguiente script de PowerShell
# Specify the path to your CSV file
$csvPath = "C:\temp\DL Group Members.csv"
# Import the CSV file
$csvData = Import-Csv -Path $csvPath
# Loop through each row in the CSV file and update the distribution group
foreach ($row in $csvData) {
$member = $row.Member
$groupName = $row.GroupName
# Check if the user specified in Member exists
$userExists = @()
$userExists += Get-User -Identity $member -ErrorAction SilentlyContinue
$userExists += Get-Contact -Identity $member -ErrorAction SilentlyContinue
# Check if the distribution group specified in GroupName exists
$groupExists = Get-DistributionGroup -Identity $groupName -ErrorAction SilentlyContinue
if ($userExists -and $groupExists) {
# Both user and group exist, so proceed with updating the distribution group
try {
# Get the user's ID
$userID = $userExists.Identity
# Check if the user is already a member of the group
$isMember = Get-DistributionGroupMember -Identity $groupName | Where-Object { $_.Identity -contains $userID }
if (-not $isMember) {
# User is not a member, so add them
Add-DistributionGroupMember -Identity $groupName -Member $member -BypassSecurityGroupManagerCheck -ErrorAction Stop
Write-Host "Added user $member as member to $groupName." -ForegroundColor Green
}
else {
Write-Host "User $member is already a member of $groupName. No action needed." -ForegroundColor Cyan
}
}
catch {
Write-Host "Failed to update member for $groupName. Error: $($_.Exception.Message)" -ForegroundColor Red
}
}
elseif (-not $groupExists) {
# Group doesn't exist, display a message
Write-Host "Distribution group $groupName specified in GroupName column doesn't exist. Skipping." -ForegroundColor Yellow
}
elseif (-not $userExists) {
# User doesn't exist, display a message
Write-Host "User $member specified in member column doesn't exist. Skipping." -ForegroundColor Yellow
}
}El resultado de salida de PowerShell muestra:
- Cuando agrega un usuario como miembro del grupo de distribución
- Si el grupo de distribución no existe
- Si el usuario ya es miembro del grupo de distribución
- El usuario no existe en Microsoft 365
Added user Adam.Mackay@m365info.com as member to SalesFrance@m365info.com.
User Amanda.Morgan@m365info.com is already a member of SalesFrance@m365info.com. No action needed.
Distribution group SalesUK@m365info.com specified in GroupName column doesn't exist. Skipping.
User Jill.Bates@m365info.com specified in member column doesn't exist. Skipping.
Added user George.Wilson@m365info.com as member to SalesGermany@m365info.com.
Added user Brenda.Smith@m365info.com as member to SalesGermany@m365info.com.
User Unknown@m365info.com specified in member column doesn't exist. Skipping.Agregar usuario a múltiples grupos de distribución
Le mostraremos cómo agregar un usuario específico a múltiples grupos de distribución de diferentes maneras.
Agregar usuario a múltiples grupos de distribución
Puede agregar un único usuario como miembro a varias listas de distribución y grupos de seguridad habilitados para correo. Utilice el siguiente script y escriba qué miembro desea asignar a los diferentes grupos de distribución.
El guión consta de dos partes:
- Especifique las direcciones SMTP principales de los grupos de distribución en la línea número 1.
- Especifique el UserPrincipalName del miembro que desea agregar en la línea número 3.
En nuestro ejemplo, queremos que el usuario Brenda.Smith@m365info.com sea miembro de dos grupos de distribución (Sales UK y Sales USA. ).
Ejecute el siguiente ejemplo de PowerShell.
$DistributionGroupsList = "SalesUK@m365info.com", "SalesUSA@m365info.com"
ForEach ($DistributionGroup in $DistributionGroupsList) {
Add-DistributionGroupMember -Identity $DistributionGroup -Member "Brenda.Smith@m365info.com" -BypassSecurityGroupManagerCheck
}Nota: Recibirá un mensaje en el resultado si el usuario ya es miembro del grupo o si no existe.
Agregar usuario para agrupar todos los grupos de distribución
En este escenario, queremos agregar un usuario específico a todas las listas de distribución y grupos de seguridad habilitados para correo existentes.
- Usaremos una variable llamada $AllDistributionGroups que obtendrá la lista de distribución y los grupos de seguridad habilitados para correo en toda la organización.
- Luego, usamos la instrucción de PowerShell ForEach para ejecutar un proceso de bucle en la lista de grupos de distribución existentes.
- Especifique el UserPrincipalName del miembro que desea agregar en la línea número 3 del siguiente script.
Ejecute el siguiente ejemplo de script de PowerShell.
$AllDistributionGroups = Get-Distributiongroup -ResultSize Unlimited
ForEach ($DistributionGroup in $AllDistributionGroups) {
Add-DistributionGroupMember -Identity $DistributionGroup -Member "David.Kent@m365info.com" -BypassSecurityGroupManagerCheck
}Nota: Recibirá un mensaje en el resultado si el usuario ya es miembro del grupo o si no existe.
Agregue un usuario a varios grupos de distribución desde un archivo CSV
Otra forma de agregar un usuario específico a múltiples listas de distribución y grupos de seguridad habilitados para correo desde un archivo CSV. Debe crear un CSV que incluya una lista de grupos de distribución a los que desea agregar este usuario como miembro.
Cree un archivo CSV con dos columnas:
- Abra el Bloc de notas o Microsoft Excel
- Escriba Nombre del grupo en la parte superior de la primera columna.
- Enumere la dirección SMTP principal de los grupos de distribución existentes.
- Ingrese Tipo en la parte superior de la segunda columna.
- Escriba Distribución o Seguridad
Nota: La columna GroupName no debe contener ningún espacio y los grupos de distribución deben existir.
- Crea la carpeta temp si aún no la tienes en la unidad (C:)
- Asigne al archivo el nombre Tipo de grupo DL.csv.
- Guardar como tipo CSV (delimitado por comas (*.csv)
- Haga clic en Guardar
- Verifique el archivo CSV con el cmdlet Import-Csv
Para asegurarse de que PowerShell pueda leer el archivo, ejecute el cmdlet Import-Csv.
Import-Csv "C:\temp\DL Group Type.csv"- Especifique el UserPrinicipalName del miembro en la línea número 3.
- Ejecute el siguiente script de PowerShell
$DistributionGroupsList = Import-Csv "C:\temp\DL Group Type.csv"
ForEach ($DistributionGroup in $DistributionGroupsList) {
Add-DistributionGroupMember -Identity $DistributionGroup.GroupName -Member "Amanda.Hansen@m365info.com" -BypassSecurityGroupManagerCheck
}Nota: Recibirá un mensaje en el resultado si el usuario ya es miembro del grupo o si no existe.
Agregar usuario a grupos de distribución creados en las últimas 48 horas
Puede agregar un usuario específico a todos los grupos de distribución recién creados en las últimas 48 horas.
En nuestro ejemplo, agregaremos el usuario Brenda.Smith@m365info.com a los grupos de distribución creados en las últimas 48 horas.
Ejecute el siguiente ejemplo de PowerShell.
$AllNewDistributionGroups = Get-DistributionGroup -ResultSize Unlimited | Where-Object { $_.WhenCreated -ge (Get-Date).AddHours(-48) }
ForEach ($DistributionGroup in $AllNewDistributionGroups) {
Add-DistributionGroupMember -Identity $DistributionGroup.DistinguishedName -Member "Brenda.Smith@m365info.com" -BypassSecurityGroupManagerCheck
}Nota: Recibirá un mensaje en el resultado si el usuario ya es miembro del grupo o si no existe.
Agregar usuario al grupo de distribución si no es miembro
Quiere verificar si un usuario específico es miembro de un grupo de distribución existente. En nuestro ejemplo, queremos comprobar si Brenda Smith es miembro del grupo de distribución Sales UK.
- El usuario que queremos comprobar es Brenda Smith
- El nombre del grupo de distribución es Sales UK.
Si el usuario específico (Brenda Smith) no es miembro del grupo de distribución Sales UK, entonces queremos agregar al usuario como miembro del grupo de distribución.
Ejecute el siguiente ejemplo de PowerShell.
$User = Get-User -Identity "Brenda.Smith@m365info.com"
$Group = Get-DistributionGroup -Identity "SalesUK@m365info.com"
if ($Group.PrimarySmtpAddress -notcontains $User.Name)
{ Add-DistributionGroupMember -Identity $Group.PrimarySmtpAddress -Member $User.Name -BypassSecurityGroupManagerCheck }Agrega automáticamente al usuario como miembro del grupo de distribución.
Leer más: Desbloquear el inicio de sesión de usuario de Microsoft 365 »
Conclusión
Aprendió a agregar miembros del grupo de distribución con PowerShell. Es posible agregar uno o varios usuarios como miembro a un grupo de distribución existente. Con Powershell, hay muchas maneras de realizar la tarea y ahorra tiempo.
Disfrutaste este artículo? También te puede gustar Restablecer MFA para usuarios de Microsoft 365. No olvides seguirnos y compartir este artículo.







