Office365 : GAL Segmentation

Image_AcrossYourDevice_430x145

Le but ici est de segmenter les carnets d’adresses , par exemple lorsque 2 sociétés partagent le même portail Office 365,e t que l’on veut  que les 2 sociétés ne voient que leurs utilisateurs, groupes, ressources respectifs.

NB: les scripts de segmentation fonctionnent également pour Exchange 2010 et 2013.

Pré-requis:

Installation des outils Azure et PowerShell

source: http://www.weatherhead.net/office-365-administration-with-one-powershell-console/

Affectation des droits de gestion de listes d’adresse

  • Se connecter sur le portail Office365 en tant qu’administrateur
  • Aller dans Admin, Exchange
  • Dans l’EAC, aller dans Autorisations
  • Ajouter un nouveau groupe de rôles
    • Nom: Address List Management
    • Rôles: ajouter “Address List” role
    • Membre: Ajouter le compte admin
    • sauvegarder

 

Modification de la sécurité PowerShell

Ouvrez l’interpréteur PowerShell en tant qu’Administrateur (Démarrer / Exécuter / Powershell) et entrez la commande suivante:

PS C:\> Get-ExecutionPolicy

Toujours dans l’interpréteur PowerShell entrez la commande suivante afin de changer de mode et d’autoriser l’exécution de script locaux :

PS C:\> Set-ExecutionPolicy RemoteSigned

Vous pouvez vérifier que le changement est bien été effectué en retapant la commande suivante:

PS C:\> Get-ExecutionPolicy

Vous devriez cette fois obtenir le résultat suivant:

PS C:\> Get-ExecutionPolicy
RemoteSigned
PS C:\>

Vous pouvez désormais exécuter un script Powershell depuis votre station de travail.

Connexion au portail Office365

  1. Connect-MSOLService (Ouverture d’une fenêtre d’identification, saisir : login / pwd)
  2. $cred = Get-Credential
  3. $s = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $cred -Authentication Basic -AllowRedirection
  4. $importresults = Import-PSSession $s
  5. $importresults.ExportedFunctions.Count

 

Commandes pour la création des listes adresses (GAL personnalisés)

Ici on imagine, 2 sociétés, entA et entB . On executera les scripts pour chaque entreprise

L’idée ici est de jouer sur l’attribut personnalisé 15 qui sera notre filtre pour créer les différentes listes d’adresses

1. Création Liste d’adresse entA utilisateurs
New-AddressList -Name « entA Utilisateurs » -RecipientFilter {((RecipientType -eq ‘UserMailbox’) -or (RecipientType -eq « MailUniversalDistributionGroup ») -or (RecipientType -eq « DynamicDistributionGroup ») -and (CustomAttribute15 -eq « entA »))}

3. Création Liste d’adresse entA Salles
New-AddressList -Name « entA Salles » -RecipientFilter {(Alias -ne $null) -and (CustomAttribute15 -eq « entA »)-and (RecipientDisplayType -eq ‘ConferenceRoomMailbox’) -or (RecipientDisplayType -eq ‘SyncedConferenceRoomMailbox’)}

4. Création Liste d’adresse entA Contacts
New-AddressList -Name « entA Contacts » -RecipientFilter {(Alias -ne $null) -and (CustomAttribute15 -eq « entA »)-and (RecipientType -eq ‘Mailcontact’)}

5. Création Liste d’adresse entA Groupes
New-AddressList -Name « entA Groupes » -RecipientFilter {(Alias -ne $null) -and (CustomAttribute15 -eq « entA »)-and ((RecipientType -eq ‘MailUniversalDistributionGroup’) -or (RecipientType -eq ‘MailUniversalSecurityGroup’) -or (RecipientType -eq ‘MailNonUniversalGroup’) -or (RecipientType -eq ‘DynamicDistributionGroup’))}

6. Création Liste d’adresse Global entA GAL
New-GlobalAddressList -Name « entA GAL » -RecipientFilter {(CustomAttribute15 -eq « entA »)}

7. Création Carnet d’adresse hors connexion entA OAB contenant LAG entA GAL
New-OfflineAddressBook -Name « entA OAB » -AddressLists « entA GAL »

8. Création d’une Stratégie de carnet d’adresse contenant les différentes listes d’adresse
New-AddressBookPolicy -Name « entA ADBP » -AddressLists « entA Utilisateurs », »entA Contacts », »entA Groupes » -OfflineAddressBook « \entA OAB » -GlobalAddressList « \entA GAL » -RoomList « \entA Salles »

9. Affectation de la stratégie du carnet d’adresse entA ADBP
Get-Mailbox -Filter {(CustomAttribute15 -eq « entA »)} | Set-Mailbox -AddressBookPolicy « entA ADBP »

10. lister les users par suffixe mail
Get-mailbox | where {$_.emailaddresses -like « smtp:*@enta.fr »} | ft name, alias, windowsEmailAddress

11. affecter l’attribut 15 « entA » aux users de entA
Get-mailbox | where {$_.emailaddresses -like « smtp:*@enta.fr »} | Set-Mailbox -CustomAttribute15 entA

12. lister les groues de distributions par suffixe mail
Get-DistributionGroup | where {$_.emailaddresses -like « smtp:*@enta.fr »} | ft name, alias, windowsEmailAddress

13. affecter l’attribut 15 « entA » aux groupes de distributions
Get-DistributionGroup | where {$_.emailaddresses -like « smtp:*@enta.fr »} | Set-DistributionGroup -CustomAttribute15 entA

14. lister les bal partagées par suffixe emailaddresses
Get-mailbox -RecipientTypeDetails sharedmailbox | where {$_.emailaddresses -like « smtp:*@enta.fr »}

15. affecter l’attribut 15 « entA« aux bal partagées
Get-mailbox -RecipientTypeDetails sharedmailbox | where {$_.emailaddresses -like « smtp:*@enta.fr »} | Set-Mailbox -CustomAttribute15 entA

16. lister les bal de ressources (salles, equipements) par suffixe email
Get-MailBox | Where {$_.ResourceType -eq « Room »} | where {$_.emailaddresses -like « smtp:*@enta.fr »}

17. affecter l’attribut 15 « entA » aux bal de ressources
Get-MailBox | Where {$_.ResourceType -eq « Room »} | where {$_.emailaddresses -like « smtp:*@enta.fr »} | Set-Mailbox -CustomAttribute15 entA

On répète ensuite les différents scripts pour ‘entB’

Sources dont je me suis inspiré:

http://www.flexecom.com/gal-segmentation-in-office-365/

http://www.office365tipoftheday.com/2013/11/18/exchange-online-global-address-list-segregation/

 

Office365 : GAL Segmentation

4 réflexions sur “Office365 : GAL Segmentation

  1. Christophe Maisonneuve dit :

    Bonjour, moi aussi je suis actuellement dans la phase de segmentation de plusieurs domaines sous Office 365. Dans votre article, je rencontre des soucis en recopiant vos lignes de commandes. Auriez-vous les bonnes lignes de commandes vers vous, celles que vous avez saisi dans Powershell ?

    J'aime

  2. Christophe Maisonneuve dit :

    Bonjour, Merci pour votre réactivité. Lorsque l’on doit passer au 2ème domaine, doit-on garder le même numéro d’attribut (15 par ex) ou faut-il en changer ? Merci d’avance.

    J'aime

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s