Cómo agregar propietarios al grupo de distribución con PowerShell
Los administradores deben realizar muchos cambios en un grupo de distribución. Cuando se trata de gestionar varios propietarios de grupos de distribución, puede ser una tarea desalentadora. En este artículo, aprenderá cómo agregar, eliminar y reemplazar propietarios de grupos de listas 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 siguiente cmdlet e inicie sesión con sus credenciales de administrador.
Connect-ExchangeOnlineError de Set-DistributionGroup: no tienes permisos suficientes
Cada grupo de distribución tiene al menos un propietario. Significa que solo el propietario 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 Set-DistributionGroup y no es el propietario 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 eliminar ni realizar cambios en un grupo de distribución. El hecho de que usted no sea el propietario 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.
Set-DistributionGroup -Identity "Distribution Group" -ManagedBy "Identity" -BypassSecurityGroupManagerCheckEjecute el ejemplo del comando PowerShell.
Set-DistributionGroup -Identity "SalesUK@m365info.com" -ManagedBy "admin@m365info.com" -BypassSecurityGroupManagerCheckEn nuestro ejemplo, el administrador (admin@m365info.com) puede controlar y gestionar el grupo de distribución (Sales UK).
Grupo de distribución: parámetro ManagedBy
El parámetro -ManagedBy especifica un propietario para el grupo. Un grupo debe tener al menos un propietario. Si no utiliza este parámetro para especificar el propietario cuando crea el grupo, la cuenta de usuario que creó el grupo será la propietaria de forma predeterminada.
El propietario del grupo de distribución puede:
- Modificar las propiedades del grupo.
- Agregar o eliminar miembros del grupo
- Eliminar el grupo
- Aprobar las solicitudes de salida o incorporación de un miembro (si están disponibles)
- Aprobar mensajes enviados al grupo si la moderación está habilitada, pero no se especifican moderadores
Todos los grupos deben tener al menos un propietario y el grupo de distribución puede tener varios propietarios.
Establecer propietarios del grupo de distribución
Veamos cómo agregar propietarios de grupos de distribución a una lista de distribución o grupo de seguridad habilitado para correo con PowerShell.
Agregar propietarios adicionales en un solo grupo de distribución
Puede agregar propietarios adicionales a su grupo de lista de distribución con PowerShell.
En nuestro ejemplo, el propietario del grupo de distribución (Sales USA) es el usuario (David Kent). Agregaremos dos usuarios existentes adicionales como propietarios a la lista de distribución.
Consulte la sintaxis del comando de PowerShell.
Set-DistributionGroup "Distribution Group" -ManagedBy @{Add='Identity 1','Identity 2'} -BypassSecurityGroupManagerCheckEjecute el siguiente ejemplo de comando de PowerShell.
Set-DistributionGroup "SalesUSA@m365info.com" -ManagedBy @{Add='Amanda.Hansen@m365info.com','Brenda.Smith@m365info.com'} -BypassSecurityGroupManagerCheckAgregar propietarios adicionales y eliminar propietarios existentes en un solo grupo de distribución
Digamos que tenemos un grupo de distribución con un par de propietarios. Deseamos implementar los siguientes requisitos:
- Añadir nuevos propietarios
- Eliminar algunos de los propietarios del grupo de distribución existente
Nota: No puede eliminar a todos los propietarios del grupo de distribución. Siempre debe haber un propietario para cada grupo de distribución.
Consulte la sintaxis del comando de PowerShell.
Set-DistributionGroup "Distribution Group" -ManagedBy @{Add='Identity 1','Identity 2';Remove='Identity 1'} -BypassSecurityGroupManagerCheckEjecute el siguiente ejemplo de comando de PowerShell.
Set-DistributionGroup "SalesUSA@m365info.com" -ManagedBy @{Add='Stephen.Hunter@m365info.com','Jill.Bates@m365info.com';Remove='David.Kent@m365info.com'} -BypassSecurityGroupManagerCheckEn nuestro ejemplo, agregamos dos nuevos propietarios y eliminamos un propietario de grupo de distribución para Sales USA.
Agregue propietarios adicionales a varios grupos de distribución desde CSV
Si desea agregar propietarios adicionales a varios grupos de distribución, es mejor utilizar un archivo CSV. Agregará al usuario como propietario del grupo a la lista del grupo de distribución, pero no eliminará a ningún propietario anterior.
Debe crear un archivo CSV con dos columnas.
- Nombre del grupo: el encabezado de la columna que almacena información sobre los grupos de distribución.
- ManagedBy: El encabezado de la columna que almacena información sobre el nombre de usuario que deseamos definir como propietario del grupo de distribución.
Siga los pasos a continuación para crear un archivo CSV para reemplazar a los propietarios existentes:
- Abra Microsoft Excel
- Escriba Nombre del grupo en la parte superior de la primera columna.
- Enumere la dirección SMTP principal del grupo de distribución.
- Escriba ManagedBy en la parte superior de la segunda columna.
- Enumere el nuevo propietario del grupo de distribución UserPrincipalName
Nombra el archivo Propietario del grupo DL y guárdalo como un archivo CSV en la carpeta temp si aún no lo tienes en (C:) conducir.
- Para asegurarse de que PowerShell pueda leer el archivo, ejecute el cmdlet Import-Csv.
Import-Csv "C:\temp\DL Group Owner.csv"- Ejecute el siguiente script de PowerShell
# Specify the path to your CSV file
$csvPath = "C:\temp\DL Group Owner.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) {
$groupName = $row.GroupName
$owner = $row.ManagedBy
# Check if the user specified in Owner exists
$userExists = @()
$userExists += Get-User -Identity $owner -ErrorAction SilentlyContinue
$userExists += Get-Contact -Identity $owner -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 an owner of the group
$isOwner = Get-DistributionGroup -Identity $groupName | Where-Object { $_.ManagedBy -contains $userID }
if (-not $isOwner) {
# User is not an owner, so add them
Set-DistributionGroup -Identity $groupName -ManagedBy @{Add = $userID } -BypassSecurityGroupManagerCheck -ErrorAction Stop
Write-Host "Added user $owner to $groupName as owner." -ForegroundColor Green
}
else {
Write-Host "User $owner is already an owner of $groupName. No action needed." -ForegroundColor Cyan
}
}
catch {
Write-Host "Failed to update owner 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 $owner specified in owner column doesn't exist. Skipping." -ForegroundColor Yellow
}
}El resultado de salida de PowerShell muestra:
- Cuando agrega un usuario como propietario del grupo de distribución
- Si el grupo de distribución no existe
- Si el usuario ya es propietario del grupo de distribución
- El usuario no existe en Microsoft 365
Added user Susan.Brown@m365info.com to SalesSpain@m365info.com as owner.
Added user Andrea.Baker@m365info.com to SalesSpain@m365info.com as owner.
User Brenda.Smith@m365info.com is already an owner of SalesGermany@m365info.com. No action needed.
User Unknown@m365info.com specified in owner column doesn't exist. Skipping.
User Amanda.Hansen@m365info.com is already an owner of SalesUK@m365info.com. No action needed.
User Jill.Bates@m365info.com specified in owner column doesn't exist. Skipping.
Added user Cindyw@gmail.com to SalesUK@m365info.com as owner.
User George.Wilson@m365info.com is already an owner of SalesUK@m365info.com. No action needed.Reemplazar propietarios del grupo de distribución
Para reemplazar los propietarios del grupo de distribución, debe asignar un único propietario nuevo, lo que eliminará automáticamente a los propietarios del grupo de distribución anterior.
Reemplazar a los propietarios existentes en un solo grupo de distribución
Siempre puede cambiar el propietario de una lista de distribución o de un grupo de seguridad habilitado para correo.
En nuestro ejemplo, tenemos varios propietarios del grupo de distribución Sales USA. Queremos cambiar los propietarios a un único propietario, David.Kent@m365info.com.
Nota: Supongamos que ya existen varios propietarios para un grupo de distribución y lo reemplaza con un único propietario; todos los propietarios existentes se eliminarán.
Consulte la sintaxis del comando de PowerShell.
Set-DistributionGroup -Identity "Distribution Group" -ManagedBy "Identity" -BypassSecurityGroupManagerCheckEjecute el siguiente ejemplo de comando de PowerShell.
Set-DistributionGroup -Identity "SalesUSA@m365info.com" -ManagedBy "David.Kent@m365info.com" -BypassSecurityGroupManagerCheckEl nuevo propietario del grupo de distribución Sales USA ha sido reemplazado por David.Kent@m365info.com.
Asignar un nuevo propietario para todos los grupos de distribución creados en las últimas dos semanas
Queremos asignar al usuario (Brenda.Smith@m365info.com) como propietario del grupo de distribución para todos los grupos de distribución existentes creados en las últimas 2 semanas.
El comando de PowerShell constará de estas partes:
- En la primera parte, definimos la variable de PowerShell $AllDistributionGroups. Almacenará el resultado de una consulta de PowerShell y recuperará todos los grupos de distribución creados en un momento específico.
- Para definir un rango de tiempo de dos semanas, debemos agregar un rango de tiempo de 14 días.
- Usaremos la declaración de PowerShell ForEach. Ejecutar un proceso de bucle en los resultados donde agregará a Brenda Smith como propietaria de cada uno de los grupos de distribución (de seguridad) existentes que aparecen en la lista.
- No puede realizar una tarea de administración si no es el propietario de los grupos de distribución. Por lo tanto, agregue el parámetro -BypassSecurityGroupManagerCheck al comando original de PowerShell.
Ejecute el siguiente comando de PowerShell.
$AllDistributionGroups = Get-DistributionGroup -ResultSize Unlimited | Where-Object { $_.WhenCreated -ge (Get-Date).AddDays(-14) }
foreach ($Group in $AllDistributionGroups) {
Set-DistributionGroup -Identity $Group.Name -ManagedBy "Brenda.Smith@m365info.com" -BypassSecurityGroupManagerCheck
}Asignamos a Brenda Smith como la única propietaria de todos los grupos de distribución creados en las últimas dos semanas.
Reemplazar propietario en masa para todos los grupos de distribución existentes
Queremos definir un usuario específico como propietario de todos los grupos de distribución existentes. Por lo tanto, eliminaremos a los propietarios de los grupos de distribución existentes y asignaremos un nuevo propietario para todos los grupos de distribución.
- La primera parte del comando de PowerShell obtiene una lista de cada distribución existente y grupo de seguridad habilitado para correo.
- La segunda parte del comando de PowerShell agregará el usuario específico como propietario a la lista del grupo de distribución que obtuvo de la primera parte.
Queremos que todos nuestros grupos de distribución existentes sean reemplazados por un propietario específico (Brenda.Smith@m365info.com).
Consulte la siguiente sintaxis del comando PowerShell.
Get-DistributionGroup -ResultSize Unlimited | Set-DistributionGroup -ManagedBy "Identity" -BypassSecurityGroupManagerCheckEjecute el siguiente comando de PowerShell.
Get-DistributionGroup -ResultSize Unlimited | Set-DistributionGroup -ManagedBy "Brenda.Smith@m365info.com" -BypassSecurityGroupManagerCheck¡Eso es todo!
Leer más: Exporte miembros del grupo de Azure AD a CSV con PowerShell »
Conclusión
Aprendió a administrar propietarios de grupos de distribución con PowerShell. Con los comandos correctos, puede agregar, eliminar y reemplazar propietarios de un grupo de distribución. Si no es el propietario del grupo de distribución, utilice el parámetro -BypassSecurityGroupManagerCheck para administrar todas las configuraciones del grupo de distribución.
Disfrutaste este artículo? También te puede gustar la creación masiva de buzones de correo compartidos con PowerShell. No olvides seguirnos y compartir este artículo.


