Hvordan provisjonere Exchange mailbokser med en sentral IAM løsning i et distribuert Exchange miljø


Hvordan provisjonere Exchange mailbokser med en sentral IAM løsning i et distribuert Exchange miljø


Det siste året har jeg vært hos to forskjellige kunder med nøyaktige samme utfordring. Deres sentrale IAM løsning klarte ikke å provisjonene mailboks til brukeren basert på informasjon som ligger i regelsettet. Dette førte til at kundene valgte en løsning hvor alle nye mailbokser ble opprettet i dedikert database for deretter å manuelt bli flyttet til riktig database og server.

Den innebygde funksjonen i Exchange fungerer ikke optimalt når man har en sentral IAM løsning og Exchange servere på flere kontinenter. Exchange Automatic mailbox distribution vil automatisk plassere mailboksen i en database som tilhører samme site/lokasjon hvor provisjoneringen utføres. Når IAM løsningen, som står på datasenteret i Norge, utfører New-Mailbox-kommandoen, vil den alltid velge en database på datasenteret i Norge. Dette er selvsagt ikke optimalt når brukeren befinner seg på et annet kontinent og det er plassert ut lokale Exchange servere.

Løsningen ble i begge tilfellene å lage et Powershell script som tar en parameter –Site. IAM-systemet vet hvilken lokasjon/site brukeren tilhører og sender dette inn til scriptet. Scriptet finner også ut hvilken database på den aktuelle lokasjonen som har færrest antall mailbokser og velger denne databasen. På den måten blir mailboksene jevnt fordelt i databasene. Scriptet kan kjøres fra en ordinær Poweshell sesjon. Den leter gjennom Active Directory og finner en Exchange server i samme AD-Site og starter en sesjon mot denne.

Modulen må endres slik at det lages en kobling mellom site-koden og databaseprefiksen. I dette eksempelet begynner alle databaser i lokasjon NO med prefix NODB.

Databaser hvor det ikke ønskes å provisjonere brukere legges inn i $excludeDB

Powershell-modulen kan lastes ned her: SICRA-Exchange2013.psm1

Eksempel #1

exch_db1

 

Eksempel #2

exch_db2