Solved

Create Users  & mailboxes automatically under win2008 R2 & Exchange 2010

Posted on 2012-12-26
10
391 Views
Last Modified: 2013-01-05
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
0
Comment
Question by:ammounpierre
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
10 Comments
 

Author Comment

by:ammounpierre
ID: 38723111
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 !
0
 
LVL 40

Expert Comment

by:Subsun
ID: 38723136
Are you running the script in Exchange Management Shell? if yes what is the error?
0
Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

 
LVL 40

Expert Comment

by:Subsun
ID: 38723256
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

0
 

Author Comment

by:ammounpierre
ID: 38723380
This is the error I am getting while inputing the lines one by one in PS
error.png
0
 
LVL 40

Expert Comment

by:Subsun
ID: 38723391
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.
0
 

Author Comment

by:ammounpierre
ID: 38723463
I launched the Exchange Management Shell and typed in the commands...
Still errors !

Thx
error.png
0
 
LVL 40

Expert Comment

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

Open in new window

Sample CSV
0
 

Author Comment

by:ammounpierre
ID: 38723575
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 !!
0
 
LVL 40

Accepted Solution

by:
Subsun earned 500 total points
ID: 38723610
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

0

Featured Post

Office 365 Training for Admins - 7 Day Trial

Learn how to provision tenants, synchronize on-premise Active Directory, implement Single Sign-On, customize Office deployment, and protect your organization with eDiscovery and DLP policies.  Only from Platform Scholar.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A hard and fast method for reducing Active Directory Administrators members.
There are times when we need to generate a report on the inbox rules, where users have set up forwarding externally in their mailbox. In this article, I will be sharing a script I wrote to generate the report in CSV format.
how to add IIS SMTP to handle application/Scanner relays into office 365.
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.
Suggested Courses

623 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question