【转载】Exchange2007批量创建帐号/批量启用邮箱
时间:2010-07-20 来源:qbqqq
一、Exchange2007批量创建帐号/批量启用邮箱脚本
在Exchange 2007中,提供了通过模版创建邮箱的方法:1. 先创建.csv文件,包含以下格式的内容:
Name,UPN,OU,Password
Deepak Kumar,[email protected],contoso.com/Users,pass@word1
Ray Chow,[email protected],contoso.com/Users,pass@word1
David Simpson,[email protected],contoso.com/Users,pass@word1
Isabel Martins,[email protected],contoso.com/Users,pass@word1
2. 在Exchange Management Shell 中输入以下命令:
$Template = Get-Mailbox "Template1" (template1 为一个已经创建了邮箱的用户名称,这个用户被用作创建其它用户的模版)
Import-CSV "C:\NewUsers.csv" | ForEach-Object -process {$Temp = ConvertTo-SecureString $_.Password -asPlainText -force;New-Mailbox -Name $_.Name -UserPrincipalName $_.UPN -OrganizationalUnit $_.OU -Database "Mailbox Database" -Password $Temp -TemplateInstance $Template}
这将根据csv文件中列出的用户创建邮箱,但这个方法不能为已经存在的用户创建邮箱。
批量启用邮箱
可以使用下列方法实现:
将所有需要启用邮箱的用户帐号放到一个OU下,例如MailUsers,然后使用下面的命令进行过滤:
get-user –OrganizationalUnit “mailusers”| enable-mailbox –database
“SERVERNAME\MAILBOX DATABASE NAME”
或者在每个OU下执行上述脚本
原文地址:http://www.5dmail.net/html/2009-11-17/20091117110849.htm
二、Exchange2007:通过PowerShell批量创建用户邮箱
在EMC里面创建邮箱时,只能一个一个的选择用户,而无法像Exchange 2003一样批量选择然后进行操作。如果一个网管员管理几千台电脑,那样的工程实在太庞大。怎样才能快速批量的为每个现有用户生成邮箱 呢?Exchange 2007可以为网管解决这个问题。实际上,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 “MailServer\Mailbox 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 “MailServer\Mailbox Database” | get-mailbox | select name,windowsemailaddress,database
总之,PS命令行的工具很好很强大。当然了,我们还是希望微软能在图形化界面里面让我们完成这一点,毕竟2003就可以嘛,听说 Exchange 2007 SP1即将作出修正,在图形化界面里就可以多选,方便用户进行操作了。