Vues :

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

}