Administración de grupos de seguridad con PowerShell
Este artículo afecta tanto a Office 365 Enterprise como a Microsoft 365 Enterprise
Puede usar PowerShell para Microsoft 365 como alternativa al Centro de administración de Microsoft 365 para administrar grupos de seguridad.
En este artículo se describe la descripción, creación, cambio de configuración y eliminación de grupos de seguridad.
Cuando un bloque de comandos de este artículo requiera que especifique valores de variable, siga estos pasos.
- Copie el bloque de comandos en el Portapapeles y péguelo en el Bloc de notas o en el Entorno de script integrado (ISE) de PowerShell.
- Rellene los valores de variable y quite los caracteres "<" y ">".
- Ejecute los comandos en la ventana de PowerShell o el ISE de PowerShell.
Administración de grupos de seguridad mediante PowerShell de Microsoft Graph
Nota:
El sdk de PowerShell de Microsoft Graph reemplaza el módulo de Azure Active Directory. Puede usar el SDK de PowerShell de Microsoft Graph para acceder a todas las API de Microsoft Graph. Para más información, consulte Introducción al SDK de PowerShell de Microsoft Graph.
En primer lugar, conéctese a su inquilino de Microsoft 365.
La administración de grupos de seguridad requiere el ámbito de permiso Group.ReadWrite.All o uno de los demás permisos enumerados en la página de referencia de Graph API "List subscribedSkus". Algunos comandos de este artículo pueden requerir ámbitos de permisos diferentes, en cuyo caso esto se anotará en la sección correspondiente.
Connect-Graph -Scopes Group.ReadWrite.All
Enumerar los grupos
Use este comando para enumerar todos los grupos.
Get-MgGroup -All
Use estos comandos para mostrar la configuración de un grupo específico por su nombre para mostrar.
$groupName="<display name of the group>"
Get-MgGroup -All | Where-Object { $_.DisplayName -eq $groupName }
Creación de un grupo nuevo
Use este comando para crear un nuevo grupo de seguridad.
Connect-MgGraph -Scopes "Group.Create"
New-MgGroup -Description "<group purpose>" -DisplayName "<name>" -MailEnabled:$false -SecurityEnabled -MailNickname "<email name>"
Mostrar la configuración de un grupo
Muestra la configuración del grupo con estos comandos.
$groupName="<display name of the group>"
Get-MgGroup -All | Where-Object { $_.DisplayName -eq $groupName } | Select-Object *
Eliminación de un grupo de seguridad
Use estos comandos para quitar un grupo de seguridad.
$groupName="<display name of the group>"
$group = Get-MgGroup -Filter "displayName eq '$groupName'"
Remove-MgGroup -GroupId $group.Id
Administrar los propietarios de un grupo de seguridad
Use estos comandos para mostrar los propietarios actuales de un grupo de seguridad.
$groupName="<display name of the group>"
# Connect to Microsoft Graph
Connect-MgGraph -Scopes "GroupMember.Read.All"
# Display group owners
Get-MgGroupOwner -GroupId (Get-MgGroup | Where-Object { $_.DisplayName -eq $groupName }).Id
Use estos comandos para agregar una cuenta de usuario por su nombre principal de usuario (UPN) a los propietarios actuales de un grupo de seguridad.
$userUPN="<UPN of the user account to add>"
$groupName="<display name of the group>"
# Connect to Microsoft Graph
Connect-MgGraph -Scopes "Group.ReadWrite.All", "User.ReadBasic.All"
# Get the group and user
$group = Get-MgGroup -Filter "displayName eq '$groupName'"
$userId = (Get-MgUser -Filter "userPrincipalName eq '$userUPN'").Id
# Add the user as an owner to the group
$newGroupOwner =@{
"@odata.id"= "https://graph.microsoft.com/v1.0/users/$userId"
}
New-MgGroupOwnerByRef -GroupId $group.Id -BodyParameter $newGroupOwner
Use estos comandos para agregar una cuenta de usuario por su nombre para mostrar a los propietarios actuales de un grupo de seguridad.
$userName="<Display name of the user account to add>"
$groupName="<display name of the group>"
# Connect to Microsoft Graph
Connect-MgGraph -Scopes "Group.ReadWrite.All", "Directory.Read.All", "User.ReadBasic.All"
# Get the group and user
$group = Get-MgGroup -All | Where-Object { $_.DisplayName -eq $groupName }
$userId = (Get-MgUser -All | Where-Object { $_.DisplayName -eq $userName }).Id
# Add the user as an owner to the group
$newGroupOwner =@{
"@odata.id"= "https://graph.microsoft.com/v1.0/users/$userId"
}
New-MgGroupOwnerByRef -GroupId $group.Id -BodyParameter $newGroupOwner
Use estos comandos para quitar una cuenta de usuario por su UPN de los propietarios actuales de un grupo de seguridad.
$userUPN="<UPN of the user account to remove>"
$groupName="<display name of the group>"
# Connect to Microsoft Graph
Connect-MgGraph -Scopes "Group.ReadWrite.All", "Directory.ReadWrite.All"
# Get the group and user
$group = Get-MgGroup -Filter "displayName eq '$groupName'" | Select-Object -First 1
$user = Get-MgUser -Filter "userPrincipalName eq '$userUPN'" | Select-Object -First 1
# Remove the user from the group
Remove-MgGroupOwnerByRef -GroupId $group.Id -DirectoryObjectId $user.Id
Use estos comandos para quitar una cuenta de usuario por su nombre para mostrar de los propietarios actuales de un grupo de seguridad.
$userName="<Display name of the user account to remove>"
$groupName="<display name of the group>"
$group = Get-MgGroup | Where-Object { $_.DisplayName -eq $groupName }
$user = Get-MgUser | Where-Object { $_.DisplayName -eq $userName }
Remove-MgGroupOwnerByRef -GroupId $group.Id -DirectoryObjectId $user.Id
Vea también
Administrar cuentas de usuario, licencias y grupos de Microsoft 365 con PowerShell