切换到宽版
  • 11763阅读
  • 5回复

[求助]十万火急!exchange 2010 中的一个powershell语法,感谢帮忙 [复制链接]

上一主题 下一主题
 
只看楼主 倒序阅读 0楼  发表于: 2011-03-29
关键词: exchangeSMTP2010
想利用powershell控制电子邮件地址策略的答复地址,先做好一个文本文件,方法为,电子邮件@前面的部分,用写好的文本文件替代
具体ps命令为
function NewMailUser
{
Set-EmailAddressPolicy -Identity "microsoft.com.1" -EnabledEmailAddressTemplates
'SMTP:   $_.split(","))[0]   @microsoft.com'
}
gc er.txt | foreach {NewMailUser}
下面为er.txt的内容
chengliang
zengqiang
wangwei
$_.split(","))[0]表示er.txt文件的第一行,然后用它替代@前面部份(邮箱默认别名)
er.txt为电子邮件策略@前面的部份
这样,邮箱的答复地址就会像如chengliang@microsoft.com为答复地址
现在关键的错误在于'SMTP:   $_.split(","))[0]   @microsoft.com'这句语法不知道怎么写?

这样设置后,邮箱格式成这样的了,证明这种方法控制答复地址明显是可行的,只是语法没用对,$_.split(","))[0]没有调用成功

[ 此帖被wangcanliuyy在2011-03-30 09:51重新编辑 ]
分享到

只看该作者 1楼  发表于: 2011-03-29
回 楼主(wangcanliuyy) 的帖子
你这个命令设的是emailaddresspolicy吖,都改成'SMTP:   $_.split(","))[0]   @microsoft.com',所以每个人的邮件地址都是一样的吖

你要设每个用户的smtp地址的话应该用set-mailbox吧?
只看该作者 2楼  发表于: 2011-03-30
Re:回 楼主(wangcanliuyy) 的帖子
opop哥,我的意思是要用,电子邮件策略控制答复地址哇
@前缀用er.txt的内容来代替,这样,答复地址,就是er.txt中指定的地址了
主要是语法出错
[ 此帖被wangcanliuyy在2011-03-30 09:28重新编辑 ]

只看该作者 3楼  发表于: 2011-03-31
回 2楼(wangcanliuyy) 的帖子
可能电子邮件地址策略的作用你还没弄清楚吧?

策略里只会是一个SMTP地址的基本格式(例如:%m@domain.com),而决不会出现具体的名称什么的(像你例子中的chengliang@domain.com

FYI:

了解电子邮件地址策略
http://technet.microsoft.com/zh-cn/exchange/bb288465.aspx

你这里之所以会是这样的结果,就是因为这个脚本其实就是不断反复将电子邮件地址策略template设为$_.split@microsoft.com(可能是由于$_.split(","))[0]出现在引号里的结果),这不仅没有意义,而且也就意味着所有邮箱都将使用$_.split@microsoft.com这个模板地址。由于Exchange不允许重复的SMTP地址存在,因此每个用户的$_.split后面用数字1,2,3,4加以区分




只看该作者 4楼  发表于: 2011-03-31
回 3楼(opop) 的帖子
感谢OPOP哥,我已经用新建别名的方式,成功添加了第二个邮件地址,并且设置为了答复地址

只看该作者 5楼  发表于: 2011-04-04
回 4楼(wangcanliuyy) 的帖子
快速回复
限60 字节
 
上一个 下一个