Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 583
  • Last Modified:

Exchange 2010 Powershell CMDLET

We have an OU with about 40 user but about 35 are non mail enabled (no mailbox or mail contact) accounts. We want to give those 35 users a mailbox now. Is there a quick PS cmdlet that can do this is bulk for all users in that OU. Also the 5 or so users that have mailboxes, shouldn't be affected. Thanks in advance.
0
timgreen7077
Asked:
timgreen7077
  • 4
  • 3
2 Solutions
 
Will SzymkowskiSenior Solution ArchitectCommented:
Prertty easy for this. Use the folliowing powershell command below.

Construct your CSV like below...

sAMAccountName               Database
jsmith                                    server1\databasename
sthomas                                server1\databasename
etc....

$UserList = Import-Csv "c:\yourCSVfile.csv"
foreach ($Mailbox in $UserList) {
$Mailbox.sAMAccountName
$Mailbox.Database
Enable-Mailbox -Identity $Mailbox.sAMAccountName -Database $Mailbox.Database

Open in new window


This will create mailboxes for all AD users that are in the CSV file that do not already have a mailbox assocaited with it.

Will.
0
 
timgreen7077Author Commented:
Spec01:
you have an open bracket '{' where does it close, and also, how do I save this so that I can run it.
0
 
Will SzymkowskiSenior Solution ArchitectCommented:
Opps! put a "}" on line 6, See below...

$UserList = Import-Csv "c:\yourCSVfile.csv"
foreach ($Mailbox in $UserList) {
$Mailbox.sAMAccountName
$Mailbox.Database
Enable-Mailbox -Identity $Mailbox.sAMAccountName -Database $Mailbox.Database 
}

Open in new window


- Open notepad and then save it in there
- Re-name the file from txt to .ps1.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
timgreen7077Author Commented:
unfortunately I don't know much about powershell. I have  done all that you asked. please instruct on how to run this, or suggest an EMC cmdlet. thanks for your help
0
 
timgreen7077Author Commented:
this is the error I receive:
The term 'Enable-Mailbox' is not recognized as the name of
the spelling of the name, or if a path was included, verif
At C:\create.ps1:5 char:15
+ Enable-Mailbox <<<<  -Identity $Mailbox.sAMAccountName -
    + CategoryInfo          : ObjectNotFound: (Enable-Mail
    + FullyQualifiedErrorId : CommandNotFoundException
0
 
Will SzymkowskiSenior Solution ArchitectCommented:
All you need to do is Open the EMS (Exchange Management Shell) navigate to the path where you saved the .ps1 file. from there do the following

If you save the .ps1 file to your local C drive then it will look like below... path is C:\> and \scriptname.ps1 is how to launch it.
Example...
c:\> \scriptname.sp1

If you are launching this from Powershell itself you need to add the snap-in for Exchange. This means Exchange tools also needs to be installed on the machine you are running it from.

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin

If you are not familiar with getting the powershell snap-in to work like shown above just run the script in the Exchange Management Shell.

Will.
0
 
timgreen7077Author Commented:
Ok, I got it to work. I did this is the EMC and removed the server name/Database and just put the DB only and it worked. Thanks for all your help
0

Featured Post

Simplify Active Directory Administration

Administration of Active Directory does not have to be hard.  Too often what should be a simple task is made more difficult than it needs to be.The solution?  Hyena from SystemTools Software.  With ease-of-use as well as powerful importing and bulk updating capabilities.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now