Bulk script creation of users with custom passwords

This exchange script will import a CSV file with the following column names and create the user accounts, including a unique password for each user as defined by the CSV file.  Great for new environments where you have a list of users and their existing passwords.

CSV Columns:
uName, FirstName, LastName, UPN, Password


$UserDetails=Import-Csv users.csv

foreach($ID in $UserDetails) {

	$password = $ID.Pass

	$SecurePassword = ConvertTo-SecureString $password -AsPlainText -Force

	New-Mailbox -Name $ID.uName -Alias $ID.uName -SamAccountName $ID.uName -FirstName $ID.FirstName -LastName $ID.LastName -UserPrincipalname $ID.UPN -Password $SecurePassword -Database "First Storage Group\Mailbox Database"

	$DisplayName = $ID.FirstName + " " + $ID.LastName

	set-user -Identity $ID.uName -Company $ID.Company -DisplayName $DisplayName -Name $DisplayName -Office $ID.Office


Change the mailbox database name in the script as required, Drop the ps1 and csv into the same folder and it should create all your mailboxes and set the passwords accordingly.