I gruppi Office 365 sono sicuramente una delle novità più interessanti degli ultimi periodi all'interno della piattaforma cloud di collaborazione offerta da Microsoft. Alla creazione di un gruppo Office 365, oltre alla possibilità di decidere i membri del team e gli owner, in automatico si ha la possibilità di utilizzare una serie di servizi connessi al gruppo. Vengono infatti creati:

  • una mailbox condivisa
  • un calendario condiviso
  • un blocco note OneNote condiviso
  • un team site SharePoint Online
  • un'istanza di Planner
  • la possibilità di abilitare al gruppo l'utilizzo di Teams
Di default su qualsiasi tenant, ogni utente del tenant ha la possibilità di creare un nuovo gruppo in autonomia e diventarne in automatico l'owner. Questa cosa da una parte può essere incentivante per introdurre l'utilizzo di questa funzionalità all'interno dell'azienda, ma dall'altra può verificarsi il proliferare di nuovi gruppi senza alcun controllo da parte dell'IT. Questo è pericoloso perchè crea un overhead di gestione per gli amministratori del tenant in quanto si trovano in gestione N nuove mailbox in Exchange Online, N nuovi siti SharePoint Online (che tra l'altro non sono direttamente visibili all'interno dell'area di amministrazione delle site collection), N nuove istanze di Planner o Teams, senza alcuna possibilità di controllo.

Tramite Powershell abbiamo la possibilità di limitare la creazione di nuovi gruppi a specifici utenti, che saranno così incaricati della creazione. Questi utenti possono essere gestiti all'interno di un gruppo di sicurezza Active Directory, così da permettere all'amministratore del tenant di mantenere il controllo su questa funzionalità.
Ecco i passi per effettuare questa configurazione.

Per prima cosa è necessario installare Azure AD PowerShell V2 Preview (ad ora alla versione 2.0.0.110). Questo perchè i comandi per la gestione dei gruppi Office 365 non sono disponibili nella versione V1 e alcuni neanche nella V2. Dobbiamo per forza utilizzare questa versione in preview.
Una volta installato il modulo nel vostro PC locale, questi sono i passi da eseguire:

1- Connettersi ad AzureAD e controllare la presenza dei settaggi del proprio tenant:
Connect-AzureAD
Get-AzureADDirectorySetting | ForEach Values
2- Se ritornano valori, controllare il valore della proprietà "EnableGroupCreation". Se è "True" significa che la creazione dei gruppi è abilitata di default per tutti gli utenti del dominio. Potete quindi passare al punto 4.
Esecuzione del comando Get-AzureADDirectorySetting
3- Se non ritornano valori, significa che non ci sono ancora dei settaggi nel vostro tenant e dovrete quindi procedere a crearli tramite questi comandi:
$template = Get-AzureADDirectorySettingTemplate | where-object {$_.displayname -eq "Group.Unified"}
$setting = $template.CreateDirectorySetting()
New-AzureADDirectorySetting -DirectorySetting $setting
4- Settare a false la proprietà "EnableGroupCreation" e configurare il gruppo di utenti che avrà a disposizione questa funzionalità:
$group = Get-AzureADGroup | Where-Object {$_.DisplayName -eq "Nome gruppo"} 
$settings = Get-AzureADDirectorySetting | where-object {$_.displayname -eq "Group.Unified"}
$settings["EnableGroupCreation"] = "false" 
$settings["GroupCreationAllowedGroupId"] = $group.ObjectId
Set-AzureADDirectorySetting -Id $settings.Id -DirectorySetting $settings

Per testare il corretto funzionamento dello script, basta accedere all'interno di Outlook Online e provare a creare un nuovo gruppo con un utente non appartenente al gruppo di sicurezza specificato. Verrà visualizzato a video un messaggio di questo tipo:

Messaggio di errore durante la creazione di un nuovo gruppo