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

PowerShell批量为用户添加SMTP邮箱

时间:2015-05-26 19:06:33      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:powershell   exchange   

首先介绍需求:公司有一拨人,需要为自己的邮箱添加一个新的smtp地址,平时也不是那他做默认邮箱 ,就是有时候想收一下,他们不在一个部门,另外还想顺便批量都加到一个邮件组里面。

所以也别想着用什么规则来做,老老实实写PowerShell吧。

这种无规律的PowerShell脚本,还是用CSV脚本导入的形式比较方便

首先准备一个utf8编码的CSV文件,按照以下形式写好

 

 

name,alias

雷大哥,dagelei

董小妹,dongxm

 

 

https://technet.microsoft.com/en-us/library/bb123794(v=exchg.150).aspx

我自己去这里找了个例子,

 

 

1
Set-Mailbox "Dan Jump" -EmailAddresses @{add="dan.jump@northamerica.contoso.com"}


不过问题来了,这上面一行里面竟然有那个圈a,圈a念啥我也不知道,反正这种情况下,在PowerShell的循环调用中,@这个符号会和我们的目的冲突,所以解决方法如下:

我们写一个PowerShell脚本

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
cls
 
$ny9s = "@"+"ny9s.cn"
 
Import-Csv -Path e:\rlpl.csv | foreach {
 
$ny9s = $_.alias+$ny9s
 
echo $ny9s
 
Set-Mailbox $_.name -EmailAddresses @{add="$ny9s"}
 
$ny9s = "@"+"ny9s.cn"
 
Add-DistributionGroupMember -Identity "t60" -Member $_.name
 
}

 

大致解释下我做了什么事情,首先清下屏幕,可以治疗强迫症

然后,定义一个变量,带上@

接下来进入循环,指定一下,比如在第一个循环中,那么$ny9s 其实就是dagelei@ny9s.com ,那么这时候,用到循环里面就没问题了。

当然循环结束,你还要再写一次,如果不加会怎么样呢?我先呵呵一下,大家可以自行测试。

最后一句很简单,把邮箱加到特定的邮件组中。至此解决需求。

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

PowerShell批量为用户添加SMTP邮箱

标签:powershell   exchange   

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

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