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 a la 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.

  1. 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.
  2. Rellene los valores de variable y quite los caracteres "<" y ">".
  3. Ejecute los comandos en la ventana de PowerShell o el ISE de PowerShell.

Consulte Mantener la pertenencia a grupos de seguridad para administrar la pertenencia a grupos con 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 "List subscribedSkus" Graph API. 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

Consulte también

Administrar cuentas de usuario, licencias y grupos de Microsoft 365 con PowerShell

Administrar Microsoft 365 con PowerShell

Introducción a PowerShell para Microsoft 365