事情的起因是这样滴:BOSS想要把公司所有邮箱账户的登录名都显示到Outlook Address Book里,办法当然简单了,修改Exchange details template(如何修改?)就可以。但是当我操作的时候就发现问题了:
公司的邮箱的登录账户是字母和数字的组成,而邮件地址根据别名生成,新建账户的时候,需要修改别名,用以生成用户的邮件地址。
比如,新建一个账户叫”Leo Huang”,登录名是:“lh1234”.默认的,系统alias值就是lh1234,我需要修改alias为leohuang,以适应邮件地址策略。
(有点绕,如果你不知道我在说什么,直接跳过吧。)。
我想做的是:
1,先修改邮件地址策略,将“%m@svrcore.com”修改为“%s%g@svrcore.com”这样地址策略就默认显示为用户的last name firet name来作为邮件地址。
2,将别名显示为用户的登录名(Exchange新建用户时,别名即为用户登录账户名。)这样修改的好处是,减少了新建账户的操作步骤。
那么我的问题就是,以前被修改过的别名,要重新更改为相应的登录名。也就是说,我要把一个AD User的信息添加(修改)到Mailbox的属性里去。即我要把SamAccountName的值添加到Alias里去。
我的办法是:
先导出用户的display name和SamAccountName。
view sourceprint?
1 Get-mailbox | select displayname,samaccountname | export-csv d:\mailbox.csv -Encoding unicode
然后,把displayname和SamAccountName作为变量进行赋值。
view sourceprint?
1 Import-Csv d:\mailbox.csv | foreach {Get-mailbox $_.DisplayName | Set-Mailbox -Alias $_.SamAccountName}
操作完成。
那么发散一下,批量的修改mailbox的属性,都可以这么去操作了。