Gestire i gruppi di sicurezza con PowerShell

Questo articolo si applica sia a Microsoft 365 Enterprise che a Office 365 Enterprise.

È possibile usare PowerShell per Microsoft 365 come alternativa all'interfaccia di amministrazione di Microsoft 365 per gestire i gruppi di sicurezza.

Questo articolo descrive l'elenco, la creazione, la modifica delle impostazioni e la rimozione di gruppi di sicurezza.

Quando un blocco di comandi in questo articolo richiede di specificare valori di variabile, seguire questa procedura.

  1. Copiare il blocco di comandi negli Appunti e incollarlo nel Blocco note o nell'ambiente di script integrato (ISE) di PowerShell.
  2. Compilare i valori delle variabili e rimuovere i caratteri "<" e ">".
  3. Eseguire i comandi nella finestra di PowerShell o in PowerShell ISE.

Gestire i gruppi di sicurezza con Microsoft Graph PowerShell

Nota

Il modulo Azure Active Directory viene sostituito da Microsoft Graph PowerShell SDK. È possibile usare Microsoft Graph PowerShell SDK per accedere a tutte le API di Microsoft Graph. Per altre informazioni, vedere Inizia a usare Attività iniziali con Microsoft Graph PowerShell SDK.

Prima di tutto, connettersi al tenant di Microsoft 365.

La gestione dei gruppi di sicurezza richiede l'ambito di autorizzazione Group.ReadWrite.All o una delle altre autorizzazioni elencate nella pagina di riferimento dell'API Graph "List subscribedSkus". Alcuni comandi in questo articolo possono richiedere ambiti di autorizzazione diversi, nel qual caso questa operazione verrà annotata nella sezione pertinente.

Connect-Graph -Scopes Group.ReadWrite.All

Elencare i gruppi

Usare questo comando per elencare tutti i gruppi.

Get-MgGroup -All

Usare questi comandi per visualizzare le impostazioni di un gruppo specifico in base al nome visualizzato.

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

Creare un nuovo gruppo

Usare questo comando per creare un nuovo gruppo di sicurezza.

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

Visualizzare le impostazioni di un gruppo

Visualizzare le impostazioni del gruppo con questi comandi.

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

Rimuovere un gruppo di sicurezza

Usare questi comandi per rimuovere un gruppo di sicurezza.

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

Gestire i proprietari di un gruppo di sicurezza

Usare questi comandi per visualizzare i proprietari correnti di un gruppo di sicurezza.

$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

Usare questi comandi per aggiungere un account utente in base al nome dell'entità utente (UPN) ai proprietari correnti di un gruppo di sicurezza.

$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

Usare questi comandi per aggiungere un account utente in base al nome visualizzato ai proprietari correnti di un gruppo di sicurezza.

$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

Usare questi comandi per rimuovere un account utente dal relativo UPN dai proprietari correnti di un gruppo di sicurezza.

$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

Usare questi comandi per rimuovere un account utente in base al nome visualizzato dai proprietari correnti di un gruppo di sicurezza.

$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

Vedere anche

Gestire gli account utente, le licenze e i gruppi di Microsoft 365 con PowerShell

Gestire Microsoft 365 con PowerShell

Guida introduttiva a PowerShell per Microsoft 365