|
首先说下需求:
用户这边用的是多域名邮箱,就是一个用户名下会有多个邮箱,只是后缀不同,比如@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
}
需要注意的是,两个脚本可以放在一起,在一个文件中运行。他们是两个单独的循环。
|
|
|