Solved

Create Users  & mailboxes automatically under win2008 R2 & Exchange 2010

Posted on 2012-12-26
10
388 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
  • 5
  • 4
10 Comments
 
LVL 7

Expert Comment

by:jimmithakkar
ID: 38723074
0
 

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
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 
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

Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

Question has a verified solution.

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

How to resolve IMCEAEX NDRs in Exchange or Exchange Online related to invalid X500 addresses.
This article describes my battle tested process for setting up delegation. I use this process anywhere that I need to setup delegation. In the article I will show how it applies to Active Directory
This tutorial will walk an individual through the steps necessary to join and promote the first Windows Server 2012 domain controller into an Active Directory environment running on Windows Server 2008. Determine the location of the FSMO roles by lo…
This tutorial will walk an individual through setting the global and backup job media overwrite and protection periods in Backup Exec 2012. Log onto the Backup Exec Central Administration Server. Examine the services. If all or most of them are stop…

856 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