If you are using a third-party/home-grown application or script to provision user accounts and mailboxes, you can still create mailboxes by populating Active Directory attributes. The recommended way would be to use PowerShell aka Exchange Management Shell or the Exchange Management Console. However, this may not always be possible – so here’s something that I’ve tried and it works.
Please pay special attention to the disclaimer at the bottom of the page. This (and any other post) is my own view and not endorsed by Microsoft. Supportability of this method is at Microsoft’s discretion. You are on your own when it comes to risk. 🙂
The following attributes need to be populated, just like earlier versions of Exchange Server:
In addition, the following "mandatory attributes" need to be added. To know the values for these attributes in your environment, see the values on existing mailboxes using ADSIEDIT.
If you prefer not to add the "mandatory attributes", you can always run the following Shell command, and Exchange will do that stuff for you.
Set-Mailbox <mailboxname> -applymandatoryproperties