在我们日常使用Exchange Management Shell最多的应该就是邮箱的管理了。在这一节中,将主要介绍下在Exchange中使用语法命令在组织中创建、更新和删除邮箱。
先来看一个示例:
1、 我们可以使用Exchange Management Shell创建一个启用了邮箱功能的AD账户。语法如下:
$password = ConvertTo-SecureString -AsPlainText abc.123 -Force
New-Mailbox -UserPrincipalName [email protected] `
-Alias dave `
-Database DB01 `
-Name DaveJones `
-OrganizationalUnit ‘corp.robin.com/VIPLAB/集团总部/Sales‘ `
-Password $password `
-FirstName Dave `
-LastName Jones `
-DisplayName ‘Dave Jones‘
可以看到,创建启用邮箱功能的AD用户成功,我们到Active Directory用户和计算机下看到已经创建了用户
2、 当邮箱创建好后,我们可以对邮箱进行修改
Set-Mailbox -Identity dave `
-UseDatabaseQuotaDefaults $false `
-ProhibitSendReceiveQuota 5GB `
-IssueWarningQuota 4gb
回到ECP界面,也可以看到刚才修改是否生效,如下图:
3、 禁用一个AD用户的邮箱功能,使用如下的语法:
Disable-Mailbox -Identity dave -Confirm:$false
这些指令是如何执行的呢?
在上面的示例中,当使用New-Mailbox命令去创建一个邮箱账户时,需要我们指定一个-password参数,然后还需要为这个值最后定一个安全的字符串对象。我们使用了ConvertTo-SecureString去创建一个$password变量保存为一个安全的加密的字符串。然后把变量$password赋值給-password参数。当然也不是一定要首先把对象存储在变量中,也可以使用如下的语法:
New-Mailbox -UserPrincipalName [email protected] `
-Alias dave `
-Database DB01 `
-Name DaveJones `
-OrganizationalUnit ‘corp.robin.com/VIPLAB/集团总部/Sales‘ `
-Password (ConvertTo-SecureString -AsPlainText [email protected] -Force) `
-FirstName Dave `
-LastName Jones `
-DisplayName ‘Dave Jones‘
还有一点需要注意的是,我们这里指定的密码必须符合我们的密码策略,必须满足密码长度最小值和复杂度要求。
在我们使用New-Mailbox命令进行创建邮箱时,只需要指定少的参数,但是New-Mailbox支持很多有用的参数。可以使用Get-Help New-Mailbox –Detailed查看New-Mailbox支持那些参数。
当使用New-Mailbox进行邮箱账户创建时,此命令是先创建一个AD用户,然后启用邮箱功能。我们也可以对现有的AD账户启用邮箱功能,可以使用Enable-Mailbox命令,语法如下:
Enable-Mailbox albert –Database DB01
在启用邮箱时,我们只需要指定AD用户的identity。在前面的例子中,也可以指定邮箱账户的数据库。Enable-Mailbox支持很多的参数,可以让我们自定义创建邮箱的属性。可以使用如下命令去启用AD中未启用邮箱功能的用户:
Get-User -RecipientTypeDetails User |
Enable-Mailbox -Database DB01
在这里我们使用Get-User命令,通过指定-RecipientTypeDetails参数的值为User来筛选AD域中没有启用邮箱功能的用户。然后通过管道符把输出信息传递給Enable-Mailbox命令,通过指定一些其它参数来启用用户邮箱功能。
当用户邮箱已经被启用后,我们也可以使用Set-Mailbox命令,例如如下一个命令:
Get-Mailbox -OrganizationalUnit corp.robin.com/VIPLAB/集团总部/技术中心 |
Set-Mailbox -UseDatabaseQuotaDefaults $false `
-ProhibitSendReceiveQuota 5GB `
-IssueWarningQuota 4gb
在这个命令行中,我们通过筛选一个OU下的邮箱用户,然后通过Set-Mailbox命令进行配置邮箱配额。有了Enable-Mailbox,相反也有Disable-Mailbox命令来断开与邮箱的连接。默认情况下,断开的邮箱被保留30天。这个可以通过修改邮箱数据库设定来进行更新。另外,我们还可以使用Remove-Mailbox命令,但是要注意的是,使用此命令时,AD域中的用于也会被删除。如果仅仅时禁用邮箱功能,那么应该使用Disable-Mailbox命令而不是使用Remove-Mailbox命令。
要删除一个邮箱账户,同时从AD域中删除,可以使用如下语法:
Remove-Mailbox -Identity dave -Confirm:$false
更多示例:
在前面使用New-Mailbox的示例中,我们使用ConvertTo-SecureString命令分配了一个安全的字符串給-Password参数。当我们使用脚本进行自动化时,这点很重要,更多的是,你可以允许操作员进行交互。例如:当我们建立一个脚本进行创建邮箱的时候,你可以使用如下命令让操作员输入密码:
$pass = Read-Host "Enter Password" –AsSecureString
当我们输入了密码后,当使用New-Mailbox时,可以使用$pass变量赋值給-Password参数了。
除此之外,还可以使用如下命令赋值
New-Mailbox -Name Dave -UserPrincipalName [email protected] `
-Password (Get-Credential).password
设置AD属性
当我们在使用New-Mailbox去创建邮箱时,有些属性是不可用的,例如城市,国家,公司和部门属性,但是我们可以通过Set-Mailbox命令去实现。
Set-User –Identity dave –Office –City 广州 –State 中国
可以使用Get-Help Set-User –Detailed去查过更过帮助信息。
Exchange 2013 PowerShell新建&修改&删除邮箱