maguoji 发表于 2011-8-31 11:22:59

关于删除EXCHANGE 2010 SP1中乱码邮件地址的问题

EXCHANGE 2010 SP1 利用批处理创建于用户(显示名为中文),然后使用emc批量创建用户,生成的邮箱别名为乱码,利用以下脚本

$list=Get-Mailbox
ForEach ($item in $list)
{
$user=Get-User $item
$sam=$user.SAMAccountName
Set-Mailbox $item –Alias "$sam"
}

修正了别名乱码的问题,邮件账户的主邮件地址也变为正常的地址,但是仍然保留了乱码的邮件地址,如??1@xx.com ??2@xx.com等,也就是说账户存在两个邮件地址,利用以下删除多余邮件地址的代码

Get-Mailbox | foreach {
for ($i=$_.EmailAddresses.Count;$i -ge 0; $i--)
{
$address = $_.EmailAddresses[$i]

# *@target.local 就是你要去掉的特定格式的邮件地址。
# ($address.SmtpAddress -like "*@target.local" )

if ($address.SmtpAddress -like "?*@xx.com" )
{
Write-host("Remove smtp adress: " + $address.AddressString.ToString() )
$_.EmailAddresses.RemoveAt($i)
}
}
$_|set-mailbox
}
提示有错误不能并行运行管道
将$_|set-mailbox前面加上#进行屏蔽,把 ?*@xx.com 改为*2@xx.com先删除??2@xx.com,不提示错误,但并没有真正删除
另外 在if ($address.SmtpAddress -like "?*@xx.com" )中如何定义 查找 ?开头的地址(需要转义符吗?)

如何解决?请帮忙!
谢谢!


利用ADModify解决

[ 本帖最后由 maguoji 于 2011-9-2 16:32 编辑 ]

maguoji 发表于 2011-9-2 12:01:19

难道大家都没有遇到这个问题?

tarian 发表于 2011-9-2 15:22:59

我一般用工具来批删除:ADModify_2.1

maguoji 发表于 2011-9-2 16:31:14

谢谢,这个工具确实不错
页: [1]
查看完整版本: 关于删除EXCHANGE 2010 SP1中乱码邮件地址的问题