Create mailboxes in bulk from AD in Exchange 2013

I have just imported 600+ users into Active Directory and can't find an easy way to bulk create the mailboxes in Exchange 2013. It will take days to click the plus sign, user mailbox, browse, select user... and all over again. Please tell me there is an easier way to accomplish this.
Josh GarrettNerdAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Vaseem MohammedCommented:
use powershell.
there are different ways to handle this depending on available data in hand.
All 600+ Users are in a specific OU.
Target that specific OU and search for users who does not currently own a mailbox.

cmdlet to use is Enable-Mailbox.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Guy LidbetterCommented:
This may help if all the imported users are under the same OU.

Import-Module ActiveDirectory
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2013
$Users = Get-ADUser -LDAPFilter "(!(mail=*))" -SearchBase "OU=Users,DC=Domain,DC=Com" - SearchScope 2 | Select Name
Foreach ($User in $Users) {Enable-Mailbox $User.Name}

Open in new window

Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

Josh GarrettNerdAuthor Commented:
Guy, is this to be run in Powershell or Exchange Management Shell?
PS C:\Users\administrator.DOMAIN> Import-Module ActiveDirectory
PS C:\Users\administrator.DOMAIN> Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2013
Add-PSSnapin : The Windows PowerShell snap-in 'Microsoft.Exchange.Management.PowerShell.E2013' is not installed on
this computer.
At line:1 char:1
+ Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2013
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (Microsoft.Excha...owerShell.E2013:String) [Add-PSSnapin], PSArgumentEx
    + FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand

PS C:\Users\administrator.DOMAIN> $Users = Get-ADUser -LDAPFilter "(!(mail=*))" -SearchBase "OU=tempuserou,DC=domain
hc,DC=Com" - SearchScope 2 | Select Name
Get-ADUser : A positional parameter cannot be found that accepts argument '-'.
At line:1 char:10
+ $Users = Get-ADUser -LDAPFilter "(!(mail=*))" -SearchBase "OU=tempuserou,DC=doma ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Get-ADUser], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.GetADUser

PS C:\Users\administrator.DOMAIN> Foreach ($User in $Users) {Enable-Mailbox $User.Name}

Open in new window

Josh GarrettNerdAuthor Commented:
Ok, so even though Vaseem was short on the answer, it was best. Zacharia's answer for using the EBUCT program was a slower process for what I needed due to processor intensive, but worked great as well. It looked for user accounts without an enabled mailbox and listed those users. You could then select check boxes and then the MB DB and Enable them.

Here was my final solution to easily enable multiple mailboxes per OU.
Get-User -OrganizationalUnit " OU" | Enable-Mailbox

Open in new window

Josh GarrettNerdAuthor Commented:
Just a follow up since I didn't mention it, that command is run in EMS not PS.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.