Exchange 2013 PowerShell新建&修改&删除邮箱

在我们日常使用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新建&修改&删除邮箱

时间: 2024-10-09 21:20:10

Exchange 2013 PowerShell新建&修改&删除邮箱的相关文章

Exchange 2013 PowerShell管理联系人&通讯组&资源邮箱

管理联系人 创建联系人,使用如下语法: New-MailContact -Alias rjones ` -Name "Rob Jones" ` -ExternalEmailAddress [email protected] ` -OrganizationalUnit sales 已启用邮箱的用户可以使用如下语法: New-MailUser -Name 'John Davis' ` -Alias jdavis ` -UserPrincipalName [email protected]

Exchange 2013 PowerShell关键概念之一

介绍 当你的组织决定升级到Exchange Server 2013,去体验一些新的功能,如集成的电子邮件存档.发现功能以及高可用功能.不管你是否喜欢,你应该意识到PowerShell已经是Exchange服务器管理工具的一部分,而且你需要去学习一些基本脚本知识,从而建立一些脚本管理Exchange Server.这本书就是关于这方面的介绍.在这一章,将介绍一些PowerShell的一些核心概念,这些概念讲方便你学习这本书中提到的一些实例知识.当然,假如你的PowerShell比较熟悉,可以跳过本

Exchange 2013 PowerShell数组和哈希表

示例: 你可以使用一个变量来存放一个数组,通过这个数组对变量分配多个值,在值之间,值需要用分隔号隔开,下面来创建一个示例: $servers = "EX1","EX2","EX3" 创建一个空的哈希表,可以使用如下语法: $hashtable = @{} 创建完哈希表后,我们可以对它进行赋值: $hashtable["server1"] = 1 $hashtable["server2"] = 2 $hash

Exchange 2013 PowerShell 传输文件及并行管道

自从Exchange 2013管理Shell命令是通过远程PowerShell会话执行,导入和导出文件需要一个新的特定参数.大概有上百个Shell命令需要用到,那么这一小节,我们就看看如何使用这些参数通过远程Shell连接进行传输文件的. 传输文件工作方式: 假如你正在当前活动目录站点中创建一个边缘订阅中心到传输服务器.当你在边缘服务器上生成了xml文件后,你可以通过New-EdgeSubscription命令,具体语法如下: [byte[]]$data = Get-Content -Path

Exchange 2013 PowerShell手动配置远程PowerShell连接

介绍 在Exchange 2007的时候,微软就推出了一套全新的基于Shell的管理工具:PowerShell V1,而且所有的图形化界面也是建立在这种技术之上的. 到了Exchange 2010,PowerShell更紧密的集成在产品中,Exchange 2010使用的是PowerShell V2,很大程度上依赖于其新的远程架构.即使你的服务器在本地或云端,都可以方便的使用这套管理工具. 在Exchange 2013中,使用的是PowerShell V3,有了更多的命令以及核心功能改变.在20

Exchange 2013 PowerShell创建自定义对象

PowerShell是一个基于对象的Shell,在写一行程序,脚本和函数时,給了我们很大的灵活性.当生成详细的报告时,我们需要从代码中自定义我们的数据输出,或者可以通过管道输送到其它的命令.我们还需要能够控制和定制代码的输出,这样我们可以合并来自多个源的数据到一个单独的对象.在这一节中,我们将学习下基本的构建定制的对象 首先我们要做的时创建一个邮箱对象的集合,将用来作为一组新的自定义对象的数据源: $mailboxes = Get-Mailbox 可以添加自定义的属性用于后续整个管道的对象属性,

Exchange 2013 PowerShell导出报告至文本和CSV文件

Exchange Management Shell的一个好处就是,可以給我们提供详细可自定义的报告.通过Exchange Management数以Shell和Windows系统的PowerShell提供的数以百计的Get-*命令,报告功能是相当强大可自定义的.在这一节中,将通过Exchange环境通过命令导出报告到CSV和文本文件中. 怎么做呢? 导出输出结果到一个文本文件,可以使用Out-File命令.生成特定数据库下的邮箱报告到一个文本文件,可以使用如下命令: Get-Mailbox –Da

Exchange 2013 PowerShell配置文件

你可以使用PowerShell配置文件去个性化你的Shell环境,当你启动Exchange Management Shell会话时,自动导入函数,模块,别名和变量到Exchange Management Shell会话中.这一节,我们将学习下如何创建一个配置文件. 默认情况下配置文件是没有创建的,但是你可以通过如下命令来检查是否创建了配置文件,命令语法如下: Test-Path $profile 如果返回的值为$True,则表示当前用户已经创建了配置文件,假如没有,则显示为$False.我们可以

Exchange 2013 PowerShell创建PowerShell函数

函数是将一些列命令合并到一个可重用的代码块中,然后我们只需要调用这个函数.函数可以被配置为更改或返回一个或多个可以显示在控制台或输出到一个外部文件的对象.你可以将函数的输出传递給一个变量,或其它命令.在这一节中,我们讲学习下如何创建一个PowerShell函数 去创建一个函数,我们需要用到关键字Function,然后紧跟着就是这个函数的名称,然后函数的代码附在大括号{}中.先来看一个示例,这是一个基本的函数,将会在一个列表中显示邮箱的三个属性 function Get-MailboxList {