/ 中存储网

研究Exchange2007如何通过PowerShell批量创建用户邮箱指定组成员

2014-08-28 23:18:54 来源:中存储网

最近做了一个Exchange 2007的群集项目。当项目接近尾声的时候,客户提出一个问题:我的AD里面有1500多个现有用户,如何才能快速批量为他们生成邮箱?因为在EMC里面,只能一个一个的选择用户,无法像Exchange 2003一样批量选择然后进行操作。如果几千人都一个一个的做,这很不现实。 

  实际上,Exchange 2007采用了传统的EMC图形界面之外,另外提供了PowerShell的脚本引擎,通过命令行可以完成很多EMC图形界面不能做到的事情。如果要批量为用户生成邮箱,必须通过PS的命令行方式进行。我这里已虚拟机环境为例,把命令和大家分享一下。

假设我有一个Exchange 2007的群集环境,群集名称为MailServer。我有若干个用户在Test这个OU下,那么:

get-user –OrganizationalUnit Test | where-object{$_.RecipientType –eq “User”}

----------------这个命令会列举出Test OU下(包含子OU)所有还没有邮箱的AD用户名单

get-user –OrganizationalUnit Test | where-object{$_.RecipientType –eq “User”} | Enable-Mailbox –Database “MailServerMailbox Database” | get-mailbox | select name,windowsemailaddress,database

--------------这个命令是,为Test OU下(包含子OU)所有用户生成邮箱。生成的邮箱路径是:MailServer群集上面的第一个存储组里面的Mailbox Database。

这是最主要的2条生成命令。其实,在这些命令里还有很多可以扩展的参数。例如,我只想给Test OU里面的部门为Sales的用户批量生成邮箱,可以这样写:

get-user –OrganizationalUnit Test | where-object{$_.RecipientType –eq “User” -and $_.department –eq “Sales”} | Enable-Mailbox –Database “MailServerMailbox Database” | get-mailbox | select name,windowsemailaddress,database