码迷,mamicode.com
首页 > 系统相关 > 详细

PowerShell批量分离SMTP邮箱,并以此创建新用户邮箱

时间:2015-06-16 14:50:55      阅读:337      评论:0      收藏:0      [点我收藏+]

标签:exchange   powershell   九叔   

首先说下需求:

用户这边用的是多域名邮箱,就是一个用户名下会有多个邮箱,只是后缀不同,比如@ny9s.com  @ny9s.cn  @ny9s.co.jp  这种。由于业务需要,需要给用户发送邮件的时候,分别显示不同的后缀。

这个需求其实解决起来不是很简单,因为我们知道Exchange中,用户不能和QQ邮箱一样,随时去切换自己的邮箱地址。你可以设定多个邮箱作为接收,但是没办法随时更改发送地址。


解决方法如下:

1、从用户邮箱中分离@ny9s.co.jp地址

2、利用用户中文名字+(奶油日本)作为中文名字,原英文名字+ny9sjapan作为新的邮件地址。批量设置一个密码1qaz@WSX

具体表现就是这样的

老邮箱:九叔   jiushu@ny9s.co.jp 登录名  jiushu

新邮箱:九叔(奶油日本) jiushu.ny9sjapan@ny9s.co.jp  登录名 jiushu.ny9sjapan


用PowerShell来实现,当然要借助到CSV,存为utf8格式,内容如下:

name,alias

九叔,jiushu


以下是分离的部分

#批量从csv中摘除某个特定邮件地址,
#Powered By 九叔
cls
#定义变量
$removeaddress = "@"+"ny9s.co.jp"
Import-Csv -Path e:\rlpl.csv | foreach { 
#进入循环,	
$removeaddress = $_.alias+$removeaddress
	echo $removeaddress
Set-Mailbox $_.name -EmailAddresses @{remove="$removeaddress"}
#清洗变量,以免下一次循环时变量叠加
$removeaddress = "@"+"ny9sco.jp"
}


以下是创建邮箱的部分

#批量从csv中创建邮箱,
#Powered By 九叔
cls
#配置密码
$pass = ConvertTo-SecureString -AsPlainText 1qaz@WSX -Force
#ny9s是本地的UPN,ny9sjapan是分离的域名
$ny9s = "@"+"ny9s.com"
$ny9sjapan = ".ny9sjapan"+"@"+"ny9sjapan.co.jp"
#从csv中获取数据
Import-Csv -Path e:\rlpl.csv | foreach { 
#获取循环的upn和特定完整邮件地址
$cb = $_.alias+$ny9s
$ccb = $_.alias+$ny9sjapan
$ab = "(奶油日本)"
$abb = $_.name+$ab
#创建邮箱
New-Mailbox -Name $abb -Alias $_.alias -OrganizationalUnit ‘ny9s.com/非用户账户/mailbox‘ -UserPrincipalName $cb -SamAccountName $_.alias -FirstName ‘‘ -Initials ‘‘ -LastName ‘‘ -Database ‘jiuzige‘ -password $pass -ResetPasswordOnNextLogon $false  -PrimarySmtpAddress $ccb
#顺便加到特定的安全组中
Add-DistributionGroupMember -Identity "haojiyou" -Member $_.name
}


需要注意的是,两个脚本可以放在一起,在一个文件中运行。他们是两个单独的循环。

本文出自 “九叔-微软私有云” 博客,请务必保留此出处http://jiushu.blog.51cto.com/972756/1662275

PowerShell批量分离SMTP邮箱,并以此创建新用户邮箱

标签:exchange   powershell   九叔   

原文地址:http://jiushu.blog.51cto.com/972756/1662275

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!