Administrar grupos en Azure AD y Microsoft 365 con PowerShell
Puede usar herramientas de administración gráfica como Azure Portal o el Microsoft 365 Admin Center para administrar grupos en Azure. En este artículo, mostraremos cómo crear, editar, actualizar y eliminar grupos en Azure AD o Microsoft 365 mediante PowerShell.
Lo primero a tener en cuenta es que existen varios tipos de grupos en Azure (M365):
Los grupos de seguridad de Azure AD se usan para administrar el acceso a las aplicaciones y los recursos de Azure. Puede permitir el acceso a una aplicación de Azure, asignar políticas o licencias de Azure (licencias basadas en grupos) a los grupos de seguridad.
Los grupos de Microsoft 365 (anteriormente llamados grupos de Office 365) se utilizan como un medio universal para acceder a diferentes productos de Microsoft 365 (Teams, Yammer, PowerBI, SharePoint y un buzón de correo de Outlook compartido). En general, M365 es un área de trabajo compartida para los miembros del equipo. Al agregar un usuario a un grupo de M365, puede acceder a todo el contenido publicado desde que se creó el grupo. Los usuarios de dicho grupo pueden compartir archivos, documentos, listas de correo, calendarios, etc.;
Los grupos de distribución se utilizan para distribuir mensajes a un grupo de destinatarios o enviar correos electrónicos masivos;
-
Los grupos de seguridad habilitados para correo se utilizan tanto para otorgar acceso a los recursos como para enviar correos.
Puede agregar usuarios al grupo de Azure AD o Microsoft 365 manualmente (membresía asignada) o dinámicamente (agregados automáticamente según los atributos del usuario/dispositivo).
¿Cómo crear un grupo de seguridad de Azure AD con PowerShell?
Los grupos de seguridad de Azure AD se pueden crear manualmente o sincronizar desde el Active Directory local. Veamos cómo crear grupos de seguridad de Azure AD y agregarles usuarios mediante PowerShell.
Conéctese a su arrendatario de Azure mediante el módulo Azure AD PowerShell:
Connect-AzureADPara crear un nuevo grupo de seguridad de Azure, ejecute el siguiente comando:
New-AzureADGroup -DisplayName grVMadmins -SecurityEnabled $true -Description "CORP VM admins" -MailEnabled $false -MailNickName "NotSet"Con la API de Microsoft Graph, puede obtener la fecha de creación de un grupo en Azure AD.
Para obtener información sobre un grupo, ejecute el comando:
Get-AzureADGroup -SearchString grVMadminsPara agregar un usuario a un grupo de Azure AD, use el cmdlet Add-AzureADGroupMember.
Obtener una identificación de usuario y grupo:
$GroupObj = Get-AzureADGroup -SearchString grVMadmins
$UserObj = Get-AzureADUser -SearchString AlexW@a-d.site
Luego agregue la ID de usuario al grupo:
Add-AzureADGroupMember -ObjectId $GroupObj.ObjectId -RefObjectId $UserObj.ObjectIdEnumere los miembros de un grupo:
$GroupObj = Get-AzureADGroup -SearchString grVMadmins
Get-AzureADGroupMember -ObjectId $GroupObj.ObjectId| select DisplayName,UserPrincipalName,UserTypePuede asignar un propietario de grupo de Azure mediante Add-AzureADGroupOwner.
Add-AzureADGroupMember -ObjectId $GroupObj.ObjectId -RefObjectId $UserObj.ObjectIdPara mostrar el propietario de un grupo:
$GroupObj = Get-AzureADGroup -SearchString grVMadmins
Get-AzureADGroupOwner -ObjectId $GroupObj.ObjectIdPara enumerar todos los grupos sincronizados desde un Active Directory local a través de Azure AD Connect (el
LastDirSyncTimeatributo muestra la fecha de la última sincronización).
Get-AzureADGroup -Filter 'DirSyncEnabled eq true' | select ObjectId,DisplayName,LastDirSyncTimeAdministrar grupos de Microsoft 365 con PowerShell
Los grupos de Microsoft 365 se crean automáticamente con las aplicaciones de M365 (Teams, Share Point, Outlook, Yammer, etc.). De forma predeterminada, cualquier usuario arrendatario puede crear un grupo de Microsoft 365. Cuando un usuario crea un nuevo grupo en Outlook o en cualquier otra aplicación, se crea un grupo de Microsoft 365. Los grupos de Microsoft 365 están disponibles en todos los servicios de M365.
El grupo aparece en la lista de grupos en Azure Portal y en el Centro de administración de Microsoft 365 de inmediato.
Para crear grupos de Microsoft 365, puede usar el cmdlet New-UnifiedGroup del módulo Exchange Online para PowerShell (EXOv2).
Conéctese con su inquilino:
Connect-ExchangeOnlinePara crear un nuevo grupo M365, ejecute este comando:
New-UnifiedGroup -DisplayName "HQ IT Department" -Alias "it-dept" -EmailAddresses it-dept@a-d.site -AccessType PrivateM365 tiene dos tipos de grupos:
Público: un grupo abierto. Cualquier usuario puede unirse al grupo y acceder a su contenido;
Privado: solo los miembros del grupo tienen acceso. El propietario del grupo o un administrador de Azure puede agregar un usuario a un grupo privado.
Para agregar usuarios o propietarios al grupo, use el cmdlet Add-UnifiedGroupLinks. Agreguemos un usuario al grupo y asignémoslo como propietario:
Add-UnifiedGroupLinks -Identity it-dept -LinkType Members -Links DiegoF
Add-UnifiedGroupLinks -Identity it-dept -LinkType Owners -Links DiegoFPuede agregar un suscriptor al grupo. Un suscriptor recibirá notificaciones por correo electrónico:
Add-UnifiedGroupLinks -Identity it-dept -LinkType Subscribers -Links AlexWSi desea agregar varios usuarios a un grupo de Microsoft 365 a la vez, puede importar una lista de usuarios desde un archivo CSV:
Import-CSV "C:\PS\Data\add_m365_members.csv" | ForEach-Object {
Add-UnifiedGroupLinks -Identity it-dept -LinkType Members -Links $_.member
}Para mostrar todos los usuarios en un grupo:
Get-UnifiedGroupLinks -Identity it-dept -LinkType MembersPara mostrar los propietarios del grupo:
Get-UnifiedGroupLinks -Identity it-dept -LinkType OwnersPuede ocultar el grupo M365 de la Lista global de direcciones (GAL):
Set-UnifiedGroup -Identity it-dept -HiddenFromAddressListsEnabled $trueCree y administre grupos dinámicos con Azure AD PowerShell
Puede crear un grupo dinámico de usuarios o dispositivos en Azure AD. Los miembros se agregan al grupo dinámicamente en función de los atributos de usuario de Azure. La pertenencia dinámica se admite tanto para la seguridad de Azure como para los grupos de Microsoft 365. Para crear grupos dinámicos, use el cmdlet New-AzureADMSGroup del módulo AzureAD.
Los grupos dinámicos requieren una licencia de Azure AD Premium P1 o P2.
Por ejemplo, puede crear un grupo dinámico que incluya a todos los usuarios de Múnich (
user.city -eq "Munich") con el puesto de trabajo específico (
user.jobTitle -like "*Engineer*"). Vamos a crear un grupo de seguridad dinámico de Azure para este ejemplo:
New-AzureADMSGroup -Description "mun_engineers" -DisplayName "All Munich IT dept engineers (dynamic)" -MailEnabled $false -SecurityEnabled $true -MailNickname mun_engineers -GroupTypes "DynamicMembership" -MembershipRule "(user.city -eq ""Munich"" -and user.jobTitle -contains ""Engineer"")" -MembershipRuleProcessingState "On"Desafortunadamente, el módulo AzureAD devuelve el siguiente error después de ejecutar el comando:
New-AzureADMSGroup : A parameter cannot be found that matches parameter name 'MembershipRule'.Para crear un grupo dinámico en Azure, debe usar el módulo AzureADPreview:
Import-Module AzureADPreview
get-command New-AzureADMSGroupPara crear un grupo dinámico de Microsoft 365, especifique Unificado como tipo de grupo:
New-AzureADMSGroup -DisplayName "M365 Admins" -Description "Dynamic Microsoft 365 Group for tenant admins" -MailEnabled $True -SecurityEnabled $True -MailNickname M365GAdmins -GroupTypes "DynamicMembership", "Unified" -MembershipRule "(User.department -eq ""IT"")" -MembershipRuleProcessingState "On"La pertenencia a los grupos dinámicos de Azure en una organización se actualiza cuando se modifican las propiedades de cualquier usuario o dispositivo. Si realiza cambios masivos en AD, importa muchos usuarios o cambia la arquitectura de grupo/usuario, se recomienda suspender la actualización automática de grupos dinámicos durante algún tiempo:
$dynGroupObj = Get-AzureADMSGroup -SearchString “All Munich IT dept engineers (dynamic)”
Set-AzureADMSGroup -Id $dynGroupObj.id -MembershipRuleProcessingState "Paused"Para habilitar el procesamiento de reglas para un grupo dinámico, ejecute el siguiente comando:
Set-AzureADMSGroup -Id $dynGroupObj.id -MembershipRuleProcessingState "On"La siguiente tabla muestra los atributos de usuario que puede usar para crear consultas para grupos dinámicos de Azure.
| Type | Attribute | Example |
| Bool | accountEnabled | user.accountEnabled -eq true |
| Bool | dirSyncEnabled | user.dirSyncEnabled -eq true |
| String | city | (user.city -eq "value") |
| String | country | (user.country -eq “value”) |
| String | companyName | (user.companyName -eq “value”) |
| String | department | (user.department -eq “value”) |
| String | displayName | (user.displayName -eq “value”) |
| String | employeeId | (user.employeeId -eq “value”) |
| String | facsimileTelephoneNumber | (user.facsimileTelephoneNumber -eq “value”) |
| String | givenName | (user.givenName -eq “value”) |
| String | jobTitle | (user.jobTitle -eq “value”) |
| String | (user.mail -eq “value”) | |
| String | mailNickName | (user.mailNickName -eq “value”) |
| String | mobile | (user.mobile -eq “value”) |
| String | objectId | (user.objectId -eq “value”) |
| String | onPremisesSecurityIdentifier | (user.onPremisesSecurityIdentifier -eq “value”) |
| String | passwordPolicies | (user.passwordPolicies -eq “DisableStrongPassword”) |
| String | physicalDeliveryOfficeName | (user.physicalDeliveryOfficeName -eq “value”) |
| String | postalCode | (user.postalCode -eq “value”) |
| String | preferredLanguage | (user.preferredLanguage -eq “de-DE”) |
| String | sipProxyAddress | user.sipProxyAddress -eq “value” |
| String | state | (user.state -eq “value”) |
| String | streetAddress | user.streetAddress -eq “value” |
| String | surname | user.surname -eq “value” |
| String | telephoneNumber | (user.telephoneNumber -eq “value”) |
| String | usageLocation | (user.usageLocation -eq “US”) |
| String | userPrincipalName | (user.userPrincipalName -eq “user@contoso.com”) |
| String | userType | (user.userType -eq “Member”) |
| String collection | otherMails | (user.otherMails -contains “user@contoso.com”) |
| String collection | proxyAddresses | (user.proxyAddresses -contains “SMTP: alias@contoso.com”) |
En Active Directory local, solo puede usar grupos de distribución dinámicos de Exchange.
Si desea crear grupos de seguridad dinámicos en AD, puede usar scripts de automatización de PowerShell (vea un ejemplo). Obtenga más información sobre la administración de grupos en un Active Directory local mediante PowerShell.






