Gerenciar grupos de segurança com o PowerShell

Esse artigo se aplica ao Microsoft 365 Enterprise e ao Office 365 Enterprise.

Você pode usar o PowerShell para o Microsoft 365 como alternativa ao Centro de administração do Microsoft 365 para gerenciar grupos de segurança.

Este artigo descreve listar, criar, alterar configurações e remover grupos de segurança.

Quando um bloco de comandos neste artigo exigir que você especifique valores variáveis, use estas etapas.

  1. Copie o bloco de comandos para a área de transferência e cole-o no Bloco de Notas ou no ISE (Ambiente integrado de script) do PowerShell.
  2. Preencha os valores de variável e remova os caracteres "<" e "">.
  3. Execute os comandos na janela do PowerShell ou no ISE do PowerShell.

Consulte Manter a associação do grupo de segurança para gerenciar a associação de grupo com o PowerShell.

Gerenciar grupos de segurança usando o Microsoft Graph PowerShell

Observação

O módulo do Azure Active Directory está sendo substituído pelo SDK do Microsoft Graph PowerShell. Você pode usar o Microsoft Graph SDK do PowerShell para acessar todas as APIs do Microsoft Graph. Para saber mais, confira Introdução ao SDK do PowerShell do Microsoft Graph.

Primeiro, conecte-se ao locatário do Microsoft 365.

O gerenciamento de grupos de segurança requer o escopo de permissão Group.ReadWrite.All ou uma das outras permissões listadas na página de referência 'Lista subscritoSkus' API do Graph. Alguns comandos neste artigo podem exigir escopos de permissão diferentes, nesse caso, isso será observado na seção relevante.

Connect-Graph -Scopes Group.ReadWrite.All

Listar seus grupos

Use esse comando para listar todos os seus grupos.

Get-MgGroup -All

Use esses comandos para exibir as configurações de um grupo específico pelo nome de exibição.

$groupName="<display name of the group>"
Get-MgGroup -All | Where-Object { $_.DisplayName -eq $groupName }

Criar um novo grupo

Use esse comando para criar um novo grupo de segurança.

Connect-MgGraph -Scopes "Group.Create"
New-MgGroup -Description "<group purpose>" -DisplayName "<name>" -MailEnabled:$false -SecurityEnabled -MailNickname "<email name>"

Exibir as configurações de um grupo

Exiba as configurações do grupo com esses comandos.

$groupName="<display name of the group>"
Get-MgGroup -All | Where-Object { $_.DisplayName -eq $groupName } | Select-Object *

Remover um grupo de segurança

Use esses comandos para remover um grupo de segurança.

$groupName="<display name of the group>"
$group = Get-MgGroup -Filter "displayName eq '$groupName'"
Remove-MgGroup -GroupId $group.Id

Gerenciar os proprietários de um grupo de segurança

Use esses comandos para exibir os proprietários atuais de um grupo de segurança.

$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 esses comandos para adicionar uma conta de usuário pelo nome de entidade de usuário (UPN) aos atuais proprietários de um grupo de segurança.

$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 esses comandos para adicionar uma conta de usuário pelo nome de exibição aos atuais proprietários de um grupo de segurança.

$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 esses comandos para remover uma conta de usuário por sua UPN dos atuais proprietários de um grupo de segurança.

$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 esses comandos para remover uma conta de usuário pelo nome de exibição dos atuais proprietários de um grupo de segurança.

$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

Confira também

Gerenciar contas de usuário, licenças e grupos do Microsoft 365 com o PowerShell

Gerenciar o Microsoft 365 com o PowerShell

Introdução ao PowerShell para o Microsoft 365