Exchange Online: Come nascondere gli utenti dalla GAL quando si usa la sincronizzazione di AAD Connect

Exchange Online nasconodere GAL

Nascondere gli utenti dall’elenco indirizzi globale in Exchange Online non è così intuitivo quando l’utente viene sincronizzato dall’ambiente Active Directory locale. Si dovrà modificare un attributo dell’oggetto utente, nonché impostare msExchHideFromAddressLists su True ed eseguire una sincronizzazione.

Il problema però è cosa succede se non si dispone dell’attributo msExchHideFromAddressLists in Active Directory?

È possibile estendere lo schema di Active Directory per Exchange, ma non è qualcosa che si può facilmente ripristinare se qualcosa va storto, senza contare che si aggiungeranno un sacco di attributi che probabilmente non verranno mai utilizzati.

Una soluzione più pulita ed elegante potrebbe essere creare semplicemente una regola di sincronizzazione personalizzata all’interno di Azure AD Connect che “converte” il valore da un attributo differente.

Questo articolo illustra come sincronizzare un attributo personalizzato dall’Active Directory locale ad Azure AD per nascondere un utente dall’elenco indirizzi globale (GAL), senza la necessità di estendere lo schema di Active Directory.

In questo caso, useremo un attributo chiamato msDS-cloudExtensionAttribute1. Tale attributo è stato introdotto in Windows Server 2012 e dispone di 20 numeri diversi per consentire flessibilità per questi tipi di scenari.

Configurazione Attributo e Sync

Aprire Azure AD Connect Synchronization Service, passare alla scheda Connectors, poi selezionare ActiveDirectory (la vostra AD locale) e cliccare su Properties. In alto a destra spuntare Show All, scorrere giù fino a msDS-CloudExtensionAttribute1 e poi selezionare OK.

Aprire Azure AD Connect Synchronization Rules Editor, cliccare su Add new rule (assicurarsi che in alto sinistra venga indicato Inbound) Inserire le informazioni seguenti:

  • Name: Nascondere un utente dalla GAL
  • Description: Se msDS-CloudExtensionAttribute1 è uguale a NascondiDaGAL, nascondi dalla GAL di Exchange Online
  • Connected System: la vostra AD locale
  • Metaverse Object Type: person
  • Link Type: Join
  • Precedence: 50 (Può essere un qualsiasi numero inferiore a 100. Assicurarsi solo di non duplicare i numeri se esistono altre regole personalizzate o si riceverà un errore di dead-lock da SQL Server)

Fare clic su Next, Scoping filter e Join rules possono rimanere vuote. Immettere la trasformazione seguente, fare clic sul pulsante Add transformation, compilare il modulo con i valori seguenti e quindi fare clic su Add

  • FlowType: Expression
  • Source: IIF(IsPresent([msDS-cloudExtensionAttribute1]),IIF([msDS-cloudExtensionAttribute1]=”NascondiDaGAL”,True,False),NULL)

E’ tempo di effettuare una sync totale, attraverso il seguente comando PowerShell: Start-ADSyncSyncCycle -PolicyType Initial

Non resta che fare una prova di funzionamento. Modificare l’attributo in AD per l’utente che si vuole nascondere dalla GAL, attraverso la Active Directory Users and Computers, aprendo le proprietà dell’utente desiderato e cambiando l’attributo msDS-cloudExtensionAttribute1, inserendo il valore NascondiDaGAL

Effettuare un’altra Sync Full (initial). Appena terminata la nuova sincronizzazione nelle proprietà dell’export verso il service domain di Office 365 vedremo l’attributo settato su true.

Ora possiamo verificare che l’attributo sia stato davvero settato sulla mailbox dell’utente in Exchange Online.

Figura 6 – Attributo assegnato all’utente in cloud

Conclusioni

Abbiamo visto che sfruttando le regole di sincronizzazione custom di AAD Connect, con pochi passaggi è possibile settare un attributo “di servizio” e convertirlo ad un valore accettabile da Azure AD.