In Office365 kan gebruik worden gemaakt van groepen. Deze groepen kunnen gebruikt worden zodat je mensen kunt groeperen, zoals bijvoorbeeld met Teams. Iedere gebruiker in je Office365 kan groepen aanmaken. Dat houdt dus ook in dat bijvoorbeeld gastgebruikers groepen kunnen maken, en dat is vaak niet de bedoeling. Nu kun je met de botte bijl gaan hakken, en ervoor zorgen dat niemand meer nieuwe groepen kan aanmaken (zie deze blade in Portal.azure.com), maar dat is soms ook wat onhandig, want dan moet de Office365 admin die groepen gaan aanmaken. Als je dat wilt: uitstekend, maar zo niet: hoe kun je er dan voor zorgen dat alleen bepaalde mensen (of groepen) nieuwe groepen kunnen aanmaken?

De truc is dat je een (en ook maar één) groep kunt kiezen die wel nieuwe groepen mag aanmaken. In deze groep kun je dus accounts (of groepen) plaatsen die die rechten wel hebben. Daarvoor moet je eerst een nieuwe groep aanmaken in de Azure Portal. Ga daarvoor naar de Groupsmanagement blade in Azure en klik op "new group". Geef de groep een naam, en onthou deze. Kies ervoor om een securitygroep aan te maken: dat heeft als voordeel dat je ook groepen mee kunt nemen in deze groep. Voeg dan ook leden toe aan deze groep. 

Daarna moet je via Powershell een script uitvoeren. Installeer daarvoor eerst de AzureADPreview module (door middel van Install-Module AzureADPreview). 

Je kopieert het volgende script naar je Powershell ISE, en je past de eerste regel aan zodat <groepsnaam>  je eigen groepsnaam is. 

$GroupName = "<groepsnaam>"
$AllowGroupCreation = $False

Connect-AzureAD

$settingsObjectID = (Get-AzureADDirectorySetting | Where-object -Property Displayname -Value "Group.Unified" -EQ).id
if(!$settingsObjectID)
{
$template = Get-AzureADDirectorySettingTemplate | Where-object {$_.displayname -eq "group.unified"}
$settingsCopy = $template.CreateDirectorySetting()
New-AzureADDirectorySetting -DirectorySetting $settingsCopy
$settingsObjectID = (Get-AzureADDirectorySetting | Where-object -Property Displayname -Value "Group.Unified" -EQ).id
}

$settingsCopy = Get-AzureADDirectorySetting -Id $settingsObjectID
$settingsCopy["EnableGroupCreation"] = $AllowGroupCreation

if($GroupName)
{
$settingsCopy["GroupCreationAllowedGroupId"] = (Get-AzureADGroup -SearchString $GroupName).objectid
} else {
$settingsCopy["GroupCreationAllowedGroupId"] = $GroupName
}
Set-AzureADDirectorySetting -Id $settingsObjectID -DirectorySetting $settingsCopy

(Get-AzureADDirectorySetting -Id $settingsObjectID).Values

Je start het script, en je logt in met je Office 365 admin account. De optie om distributiegroepen te maken in Office365 wordt uitgeschakeld voor iedereen, en de groep die je wilt krijgt rechten om groepen aan te maken.

Let op dat alleen de instelling voor Microsoft 365 groups wordt aangepast. De security groups instelling blijft staan zoals die stond. 't lijkt mij dat gebruikers die sowieso niet mogen aanpassen, dus die kun je handmatig uitzetten.

Ondanks dat bij "Microsoft 365 groups" "User can create Microsoft 365 groups in Azure portals, API or Powershell" uit staat, de gebruikers die lid zijn van die ene groep nog wel Microsoft 365 groepen kunnen aanmaken.

bron: https://docs.microsoft.com/en-us/microsoft-365/solutions/manage-creation-of-groups?view=o365-worldwide