Description
Le script ci-dessous vous permettra de classifier vos groupes ou Teams Office 365.
Exemple d'un groupe classifié "Interne"
Exemple de classification pour "Teams"
Au préalable, il faut définir une liste d'étiquettes qui seront à disposition des utilisateurs lors de la création d'un groupe. Dans cet exemple, on créera une liste de trois étiquettes "GDPR", "Client" et "Interne".
On pourra s'assurer ensuite que pour tous les groupes classifiés comme "Interne" par exemple, l'accès invité sera bloqué.
Script - Définir les classifications
$cred = Get-Credential
Install-Module AzureAD -AllowClobber
Connect-AzureAD -Credential $cred
$settings = Get-AzureADDirectorySetting | where-object {$_.displayname -eq “Group.Unified”}
$settings[“ClassificationList”] = "GDPR,Client,Interne"
$settings[“DefaultClassification”]= "GDPR"
Set-AzureADDirectorySetting -Id $settings.Id -DirectorySetting $settings
Script - Interdire les accès invités pour les groupes classés "Interne"
$GroupTemplate = (Get-AzureADDirectorySettingTemplate | ? {$_.DisplayName -eq "Group.Unified.Guest"})
$Groups = (Get-UnifiedGroup -ResultSize Unlimited | Where {$_.Classification -eq "Interne"})
ForEach ($Group in $Groups) {
$GroupSettings = Get-AzureADObjectSetting -TargetType Groups -TargetObjectId $Group.ExternalDirectoryObjectId
if($GroupSettings) {
# Policy settings already exist for the group - so update them
$GroupSettings["AllowToAddGuests"] = $False
Set-AzureADObjectSetting -Id $GroupSettings.Id -DirectorySetting $GroupSettings -TargetObjectId $Group.ExternalDirectoryObjectId -TargetType Groups
Write-Host "External Guest accounts prohibited for" $Group.DisplayName
}
Else
{
# Settings do not exist for the group - so create a new settings object and update
$Settings = $GroupTemplate.CreateDirectorySetting()
$Settings["AllowToAddGuests"] = $False
New-AzureADObjectSetting -DirectorySetting $Settings -TargetObjectId $Group.ExternalDirectoryObjectId -TargetType Groups
Write-Host "External Guest accounts blocked for" $Group.DisplayName
}