Veel ICT-omgevingen hebben hun e-mail ondertussen gemigreerd naar Exchange Online in Office 365. De bijbehorende gebruikersaccounts staan primair nog in de on-premise Active Directory en worden via Azure Active Directory Connect gesynchroniseerd met de Azure Active Directory. Ook de gedeelde mailboxen vanuit de oude Exchange-omgeving zijn gemigreerd waarbij het oorspronkelijke (on-premise) Active Directory account is blijven bestaan. Hoe deze koppeling kan worden verbroken voor een eenduidig beheer lees je in deze blog.
Wanneer na de migratie naar Exchange Online een nieuwe gedeelde mailbox wordt aangemaakt, gebeurt dat over het algemeen in Office 365. Zo’n gedeelde mailbox heeft vervolgens onder water in Azure Active Directory een account, maar niet meer in de on-premise Active Directory.
Eenduidig beheer van gedeelde mailboxen is dan niet meer mogelijk:
- Voor een deel van deze gedeelde mailboxen moeten wijzigingen (denk aan een extra e-mailadres of een naamswijziging) in de on-premise Active Directory worden gedaan. Na een eerstvolgende synchronisatie zijn deze vervolgens actief in Exchange Online.
- Voor de nieuw aangemaakte gedeelde mailboxen kunnen dit soort wijzigingen direct in Exchange Online of via het Microsoft 365 Admin Center gedaan worden.
Fout bij het wijzigen van een gesynchroniseerde Shared Mailbox
Beheer altijd via on-premise Active Directory?
Een oplossing zou kunnen zijn om ook voor nieuwe gedeelde mailboxen eerst een on-premise account aan te maken. Na synchronisatie van het account kan hiervoor een mailbox worden aangemaakt door een licentie toe te wijzen. Vervolgens kan deze mailbox worden omgezet naar een Shared Mailbox, waarna de licentie weer moet worden afgestoten.
Dit process kent de nodige nadelen. Zo moet er dus altijd een buffer zijn wat betreft het aantal ingekochte Office 365 licenties om deze (tijdelijk) te kunnen toewijzen. Verder vergt dit nogal wat extra stappen bovenop het alleen Online aanmaken van de mailbox. Bovendien staat hier geen groot voordeel tegenover, behalve het centraal beheer van accounts in de on-premise Active Directory.
Licentie toewijzen in Microsoft 365 Admin Center
Ook is het door middel van een PowerShell script geautomatiseerd shared mailboxen aanmaken een extra grote uitdaging. Ook al zijn alle benodigde stappen prima te scripten, er zitten wat stappen tussen die wat doorlooptijd vergen (denk aan de synchronisatie van het account naar Azure AD of het beschikbaar maken van een mailbox na het toewijzen van een licentie). Daarnaast moet je er zeker van zijn dat er altijd licenties beschikbaar zijn om (tijdelijk) een licentie te kunnen toewijzen. Als Tier 1 Partner van Microsoft kunnen wij dit stuk wel automatiseren door extra licenties in te kopen. Maar voor de meeste organisaties zit er niets anders op dan altijd extra licenties ingekocht te hebben.
Koppelen op basis van SMTP
Om het (onnodige) licentie proces te omzeilen, zou gebruik gemaakt kunnen worden van een koppeling d.m.v. SMTP matching. Dit wordt uitgelegd in het volgende KB artikel: https://support.microsoft.com/en-ca/help/2641663/how-to-use-smtp-matching-to-match-on-premises-user-accounts-to-office. Hierbij wordt zowel in on-premise Active Directory, als ook in Office 365 een account aangemaakt met hetzelfde SMTP adres. Na synchronisatie herkent Azure Active Directory Connect dat de accounts bij elkaar horen, en creëert automatisch een koppeling. Voordeel is dat het Office 365 account direct een shared mailbox kan zijn, waarbij dus geen licentie benodigd is. Een nadeel is dat de koppeling niet vanzelfsprekend goed wordt opgepakt door Azure Active Directory Connect, waardoor er synchronisatie problemen ontstaan die handmatig moeten worden opgelost.
Shared Mailboxen omzetten naar Cloud Only
Wij adviseren dan ook om gedeelde mailboxen enkel in Exchange Online te beheren, en de on-premise Active Directory accounts op te ruimen. Door deze mailboxen los te koppelen van het on-premise Active Directory account kunnen de instellingen voortaan op dezelfde manier beheerd worden als de nieuw aangemaakte variant.
Om deze koppeling te verbreken, moeten de volgende stappen worden doorlopen. De eerste stappen zorgen ervoor dat de mailbox wordt verwijderd in Exchange Online. Daarna wordt de mailbox weer hersteld. In de periode ertussen kan er tijdelijk geen e-mail worden afgeleverd. Zorg er dus voor dat deze periode niet te lang duurt, doe dit bij voorkeur buiten productie en niet met te grote groepen mailboxen tegelijk.
- Verplaats de on-premise Active Directory accounts die Cloud-Only moeten worden naar een aparte Organizational Unit.
- Configureer binnen Azure AD Connect dat deze Organizational Unit niet naar Office 365 wordt gesynchroniseerd.
- Start een AD synchronisatie met de Start-ADSyncSyncCycle cmdlet. In Office 365 zullen nu de betreffende accounts naar de prullenbak worden verplaatst, omdat Office 365 de gekoppelde accounts on-premise mist en concludeert dat deze verwijderd zijn.
- Binnen Azure AD willen we deze accounts nu weer herstellen. Om te voorkomen dat bij een eerstvolgende synchronisatie deze accounts weer worden verwijderd, moeten deze worden omgezet naar Cloud Only. Dat doen we door de koppeling te verwijderen. Deze koppeling wordt vastgelegd door het attribuut ImmutableID. Deze wordt gematcht met een Source Anchor Attribute in de on-premise Exchange, in de meeste gevallen objectGUID[1]. Het attribuut immutableID kan niet worden verwijderd worden tijdens een bestaande koppeling, maar wanneer een gebruiker uit de prullenbak hersteld wordt wel.
- Voer het volgende script uit met PowerShell om de gebruiker weer te herstellen en de koppeling te verbreken:
# Maak verbinding met Exchange Online
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session
Connect-MsolService -Credential $UserCredential
# Haal verwijderde gebruikers op
$DeletedUsers = Get-MsolUser –ReturnDeletedUsers
# Eventueel kun je specifiek verwijderde accounts uitsluiten door een pipeline statement toe te voegen. Bijvoorbeeld:
# | Where{$_.ObjectID -ne "<objectID>"}
foreach ($User in $DeletedUsers) {
# Herstel het account
Restore-MsolUser -UserPrincipalName $User.UserPrincipalName -
AutoReconcileProxyConflict
# Verbreek de koppeling met on-premise AD
Set-MsolUser -UserPrincipalName $User.UserPrincipalName -ImmutableId ""
}
Controleer of de migratie goed is verlopen. De accounts moeten in Office 365 nu onder ‘Actieve gebruikers’ verschijnen met de eigenschap ‘In cloud’ in de kolom ‘Type synchronisatie’ (in tegenstelling tot ‘Gesynchroniseerd met Active Directory’, zoals het hiervoor was).
Draai nu nog een AD synchronisatie en controleer of de accounts niet meer verwijderd worden in Office 365.
Als geen enkele Shared Mailbox meer een koppeling heeft met de on-premise Active Directory kan het beheer volledig plaatsvinden in Office 365 en/of Exchange Online. De oorspronkelijke accounts kunnen verwijderd worden.
[1] https://docs.microsoft.com/en-us/azure/active-directory/hybrid/plan-connect-design-concepts