Create Users  & mailboxes automatically under win2008 R2 & Exchange 2010

ammounpierre
ammounpierre used Ask the Experts™
on
Hello Gurus
I have a win2008 R2 domain controller. I also have another member server which has Exchange 2010.

I have to create 124 Users in 1 specific OU with their mailboxes in Exchange 2010.
I need to set the following settings.
1-User Name & Surname
2-Password ("letmein" for all) - They need to change it on next logon
3-Start up script (some mappings...)
4-Home Folders
5-Enable a Mailbox for those users

I also have a GPO that I need to use for those users.
In fact I have 10 users created and working perfectly as I need the other 124 .
Is there a way to "extract" the settings from those users into a "template" that I could modify to apply on the ones I need to create ?


How Do I do this is Powershell ?

Thanks
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®

Author

Commented:
I created a file called toadd.ps1 and entered the following in it.

$users = Import-CSV C:\scripts\users.csv
$users| foreach

{

$Password = convertto-securestring $_.password -asplaintext -force

new-mailbox -name $_.name -alias $_.alias -FirstName $_.Firstname -LastName $_.Lastname -userPrincipalName  $_.UPN -database $_.Database -OrganizationalUnit $_.OUpath -Password $Password –ResetPasswordOnNextLogon:$true

}


****************************

Then I created a CSV file and tried to run the command in PS.

Not working !
Subash SundharanIT Infrastructure Architect

Commented:
Are you running the script in Exchange Management Shell? if yes what is the error?
Success in ‘20 With a Profitable Pricing Strategy

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

Subash SundharanIT Infrastructure Architect

Commented:
Only problem I see is with the use of foreach, you didn't start the Curly bracket immediately after foreach command..
Try this..
$users = Import-CSV C:\scripts\users.csv
$users| foreach {
$Password = convertto-securestring $_.password -asplaintext -force
new-mailbox -name $_.name -alias $_.alias -FirstName $_.Firstname -LastName $_.Lastname -userPrincipalName  $_.UPN -database $_.Database -OrganizationalUnit $_.OUpath -Password $Password –ResetPasswordOnNextLogon:$true
}

Open in new window

Author

Commented:
This is the error I am getting while inputing the lines one by one in PS
error.png
Subash SundharanIT Infrastructure Architect

Commented:
You are running the script in normal PowerShell, you need to run the script in  Exchange Management Shell.. Also can you post the input csv file? I think you have not provided the tab password in the file or its values are empty..

To open the Exchange Management Shell, follow these steps:

1.Click Start, point to All Programs, and then point to Microsoft Exchange Server 2010.
2.Click Exchange Management Shell.

Author

Commented:
I launched the Exchange Management Shell and typed in the commands...
Still errors !

Thx
error.png
Subash SundharanIT Infrastructure Architect

Commented:
Your CSV file doesn't have a header like..
name,alias,Firstname,Lastname,UPN,OUpath,Database,password

Open in new window

Sample CSV

Author

Commented:
At last it works !
Thanks a lot !
Still few things...
I would like to add
1-a logon script (scriptstart.bat)
2-Home Folder Z:\ connect to \\data-srv\users\%Username%


Thanks again !!
IT Infrastructure Architect
Commented:
Try this..
Import-Module activedirectory
$users = Import-CSV C:\scripts\users.csv
$users| foreach {
$Password = convertto-securestring $_.password -asplaintext -force
new-mailbox -name $_.name -alias $_.alias -FirstName $_.Firstname -LastName $_.Lastname -userPrincipalName  $_.UPN -database $_.Database -OrganizationalUnit $_.OUpath -Password $Password –ResetPasswordOnNextLogon:$true
Get-ADUser $_.name | Set-ADUser –scriptPath “scriptstart.bat” -HomeDirectory "\\data-srv\users\$($_.name)" -HomeDrive "Z:"
}

Open in new window

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial