Compartilhar via


Gerir grupos de segurança com o PowerShell

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

Pode utilizar o PowerShell para o Microsoft 365 como alternativa ao centro de administração do Microsoft 365 para gerir grupos de segurança.

Este artigo descreve a listagem, criação, alteração de definições e remoção de grupos de segurança.

Quando um bloco de comandos neste artigo exigir que especifique valores variáveis, utilize estes passos.

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

Gerir grupos de segurança com o Microsoft Graph PowerShell

Observação

O módulo do Azure Active Directory está a ser substituído pelo SDK do PowerShell do Microsoft Graph. 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, ligue-se ao seu inquilino do Microsoft 365.

A gestão de grupos de segurança requer o âmbito de permissão Group.ReadWrite.All ou uma das outras permissões listadas na página de referência da Graph API "List subscribedSkus". Alguns comandos neste artigo podem exigir âmbitos de permissão diferentes, caso em que será indicado na secção relevante.

Connect-Graph -Scopes Group.ReadWrite.All

Listar os seus grupos

Utilize este comando para listar todos os seus grupos.

Get-MgGroup -All

Utilize estes comandos para apresentar as definições de um grupo específico pelo respetivo nome a apresentar.

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

Criar um novo grupo

Utilize este 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>"

Apresentar as definições de um grupo

Apresentar as definições do grupo com estes comandos.

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

Remover um grupo de segurança

Utilize estes 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

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

Utilize estes comandos para apresentar 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

Utilize estes comandos para adicionar uma conta de utilizador pelo respetivo nome principal de utilizador (UPN) aos proprietários atuais 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

Utilize estes comandos para adicionar uma conta de utilizador pelo respetivo nome a apresentar aos proprietários atuais 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

Utilize estes comandos para remover uma conta de utilizador pelo respetivo UPN dos proprietários atuais 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

Utilize estes comandos para remover uma conta de utilizador pelo respetivo nome a apresentar dos proprietários atuais 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