今天闲暇无事,看到杜飞老师在51cto博客上的一篇文章,关于写Exchange删除用户邮箱中多余的电子邮件地址的博客地址,博客链接:http://dufei.blog.51cto.com/382644/1590097,继续翻阅网上同类的文章,又找到一篇徐鹏徐大师在csdn上的一篇博客,也是同样的主题,博客链接:http://blog.csdn.net/fogyisland2000/article/details/7805291

,徐大师说的这个程序我找了下官方链接,已经停止更新了,最新的版本是2009年发布的。

http://admodify.codeplex.com/releases/view/6065

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第1张图片

继续找类似的文章,发现网上还是有在windows server 2012环境下使用admodify的案例,见如下链接,http://www.dotblogs.com.tw/swater111/archive/2013/06/25/106062.aspx

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第2张图片

下面就开始着手演示下三种修改邮箱地址方法的操作步骤。

第一种、使用Powershell+Excel 修改邮箱属性

步骤1、如果是删除某一个用户的电子邮件地址,可以使用命令:Set-Mailbox –identity "邮箱名称" -EmailAddresses @{remove="邮箱名称@51service.com.cn"},如下图所示:

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第3张图片

步骤2、设置生效,多余的邮箱地址已经从邮箱地址里面删除。

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第4张图片

步骤3、邮箱地址不多的话工作量还能接受,邮箱比较多的话,就不是技术活而是体力活了,费时费力还容易出错。下面我讲解批量删除的方法。

由于我们的邮箱地址策略是[email protected] , 所以我们批量导出alias属性。

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第5张图片

命令行如下:

[PS] C:\Windows\system32>get-mailbox -ResultSize unlimited | Select-Object name,alias | Export-Csv c:\uesrinfo.csv -Encoding UTF8 -NoTypeInformation

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第6张图片

步骤4、使用Excel函数A&B&C整理并拉至最末尾一行,最终的效果如下图

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第7张图片

步骤5、未避免后面导入出现中文乱码,将编辑后的uesrinfo.csv保存为UTF8编码。

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第8张图片

步骤6、将修改后的uesrinfo.csv文件保存至exchange服务器C盘,并执行修改命令。[提示“周平”未修改是前面用单行命令已经修改过了]

[PS] C:\Windows\system32>Import-Csv -Path c:\uesrinfo.csv | foreach {Set-Mailbox -Identity $_.name -EmailAddresses @{remove=$_.alias}}

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第9张图片

步骤7、我们检查下账号,发现邮件地址都已经修改过来,多余的邮箱地址已经被删除。

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第10张图片

第二种、使用Powershell修改邮箱属性[不使用Excel]

步骤1、删除不在需要的邮件地址策略。

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第11张图片

 步骤2、输入如下命令移除不需要的邮件地址。

[PS] C:\Windows\system32>get-mailbox -ResultSize unlimited | Select-Object name,alias| foreach {Set-Mailbox -Identity $_.name -EmailAddresses @{remove=($_.alias+"@51service.com.cn")}}

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第12张图片

步骤3、我们查看帐号属性,发现废弃的邮箱地址已被删除。

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第13张图片

 

 第三种、使用Admodify.net修改邮箱属性

Admodify.net程序见博客末尾处附件下载

步骤1、删除不在需要的邮件地址策略。

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第14张图片

步骤2、删除地址策略后,发现删除的地址策略对应的邮箱地址还是存在,如果一个一个去删除,劳时费力,还未必出错,下面我们利用admodify批量修改AD账号的属性来达到我们要的效果。

运行Admodify,选择Modify Attributes。

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第15张图片

步骤3、依次选择domain list,domain controller list,执行绿色箭头,最后选择Add To list

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第16张图片

步骤4、选择Select All后,选择Next

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第17张图片

步骤5、选择E-mail Address选项

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第18张图片

步骤6、继续选择Remove E-mail Address,填入要移除的域名smtp:*@ @51service.com.cn,在选择Go!囧~,这个太逗了。

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第19张图片

步骤7、提示操作成功。

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第20张图片

步骤8、我们查看帐号属性,发现废弃的邮箱地址已被删除。

Powershell管理系列(七)删除Exchange用户邮箱中多余的电子邮件地址_第21张图片