Cómo agregar usuarios a grupos con Microsoft Graph PowerShell
Agregar usuarios a grupos en Microsoft 365 o Microsoft Entra es una necesidad común durante la creación de nuevos usuarios y el soporte general continuo. Si bien esta es una tarea sencilla que se realiza a través de los centros de administración web, todavía es necesario realizarla mediante programación utilizando Microsoft Graph PowerShell para fines de simplicidad y automatización.
En este tutorial, le mostraré cómo agregar uno o varios usuarios a un grupo usando Microsoft Graph PowerShell.
Acerca del cmdlet New-MgGroupMember
El cmdlet New-MgGroupMember le permite agregar un único usuario a un grupo específico, ya sea un grupo de seguridad, un grupo de distribución o un grupo de Microsoft 365. Como solo puede agregar un usuario a la vez, se puede usar un bucle para agregar varios usuarios en un solo comando o secuencia de comandos.
New-MgGroupMember pertenece a los módulos Microsoft.Graph.Groups en Microsoft Graph PowerShell. Este módulo se puede instalar manualmente con el siguiente comando:
Install-Module Microsoft.Graph.GroupsTambién se requiere un nivel mínimo de permisos para agregar usuarios a grupos; se debe dar consentimiento a los siguientes permisos:
- Miembro del grupo.ReadWrite.All
- Usuario.ReadWrite.All
Para conectarse a Microsoft Graph PowerShell con los permisos anteriores, puede usar el siguiente comando e iniciar sesión con un usuario Administrador global:
Connect-MgGraph -Scopes GroupMember.ReadWrite.All, User.ReadWrite.AllUna vez que esté conectado a Microsoft Graph PowerShell, puede continuar agregando usuarios a los grupos.
Agregar un único usuario a un grupo con Microsoft Graph PowerShell
Al igual que con muchos cmdlets de Microsoft Graph PowerShell, una de las peculiaridades del cmdlet New-MgGroupMember es que en lugar de usar el nombre único (o nombre de usuario) del grupo o usuario, requiere que ingrese el directorio ObjectID, que es menos usuario. amigable.
El ObjectID tanto para el usuario como para el grupo se puede encontrar fácilmente utilizando el parámetro -Buscar en Microsoft Graph PowerShell.
Entro en más detalles sobre el parámetro -Search en mi blog, Cómo utilizar Get-MgUser con Microsoft Graph PowerShell
Comience usando el siguiente comando para almacenar el objeto de directorio tanto para el grupo objetivo como para el usuario objetivo:
$group = Get-MgGroup -Search '"DisplayName:GroupName"' -ConsistencyLevel eventual
$user = Get-MgUser -Search '"DisplayName:UserDiplayName"' -ConsistencyLevel eventualLuego, para agregar el usuario al grupo de destino, use el cmdlet New-MgGroupMember y haga referencia al ObjectID tanto para el usuario como para el grupo:
New-MgGroupMember -GroupId $group.id -DirectoryObjectId $user.idAgregar varios usuarios a un grupo
La forma más sencilla de agregar varios usuarios a un grupo es utilizar un bucle de PowerShell para recorrer un conjunto de usuarios mientras se ejecuta el cmdlet New-MgGroupMember.
Para obtener más detalles sobre cómo usar bucles con PowerShell, consulte mi blog detallado: Cómo usar un bucle Foreach de Powershell con ejemplos.
Para comenzar, usaremos un fragmento de código similar al del último ejemplo. En su lugar, esta vez usaremos el parámetro -Filter con el cmd Get-MgUser para recuperar una lista de usuarios a los que queremos dirigirnos.
$group = Get-MgGroup -Search '"DisplayName:Test2"' -ConsistencyLevel eventual
$users = Get-MgUser -Filter "endsWith(mail,'ourcloudnetwork.com')" -ConsistencyLevel eventual
Ahora que la variable $users contiene una matriz de usuarios, podemos recorrerlos de la siguiente manera:
Foreach ($user in $users) {
Write-host "Adding user $($User.DisplayName) ..." -ForegroundColor Cyan
New-MgGroupMember -GroupId $group.id -DirectoryObjectId $user.id
}