PowerShell批量为用户添加SMTP邮箱

首先介绍需求:公司有一拨人,需要为自己的邮箱添加一个新的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="[email protected]"}

不过问题来了,这上面一行里面竟然有那个圈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 其实就是[email protected] ,那么这时候,用到循环里面就没问题了。

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

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

时间: 2024-10-07 00:51:53

PowerShell批量为用户添加SMTP邮箱的相关文章

powershell导入AD用户和启用邮箱

导入ad账号,需要两个账号,ps文件和csv文件 ps文件: Import-Csv -Encoding Unicode user.csv |foreach-Object{ $Nam=$_.name $Givn=$_.givenname $Surn=$_.surname $Passw=$_.password $Des=$_.description $City=$_.city $Emplyenum=$_.employeenumber $Mobile=$_.mobilePhone $com="@tes

Office 365系列之十一:使用Windows PowerShell 批量导入用户

在本系列中的第九部分我们已经成功的通过Windows PowerShell管理O365平台了,为本次批量导入用户提供了铺垫.所以对于O365平台管理PS模块的安装今天就不说的那么详细了,具体配置可以参考第九部分内容. 1.1  Install Microsoft Online Services Sign-In Assistant for IT Professionals RTW http://www.microsoft.com/en-us/download/confirmation.aspx?i

批量创建用户添加随机密码

1.批量创建用户user01-user10 #seq -w 10|sed -r "s/(.*)/useradd user\1/g"|bash 2.-r和\1的分析 -r, --regexp-extended use extended regular expressions in the script 表示可以使用扩展的正则 \1正则中匹配第一个group,也就是匹配第一个()里边的内容 下面案例分析 #vi test.txt sxz23749237492384 zxs379427493

【转载】Powershell在世纪互联Office365中批量将用户添加到组

1 $NewUserPath = ".\Office365AddUserToGroup.csv" 2 3 $NewUsers = import-csv $NewUserPath 4 5 foreach ($NewUser in $NewUsers) { 6 $Mail=$NewUser.Mail 7 $Mail 8 $Groups=$NewUser.Group 9 $Groups 10 11 $Groups.split(";") | ForEach { 12 $Gr

bash脚本学习--批量增删用户

最近进度有点慢,跟着<私房菜>学习进行到了Linux ACL权限设置这一章节,由于书中经常有加账号和删除账号的操作,就觉得太繁琐了,正好可以拿这个来继续巩固下前一章脚本编写的基础.话不多说进入正题. 本脚本实现的功能是根据用户输入的选项来选择是"添加"还是"删除"账号,以下是脚本代码. #!/bin/bash #Program: #       This program will batch add accounts. #History: #2016/0

PowerShell批量分离SMTP邮箱,并以此创建新用户邮箱

首先说下需求: 用户这边用的是多域名邮箱,就是一个用户名下会有多个邮箱,只是后缀不同,比如@ny9s.com  @ny9s.cn  @ny9s.co.jp  这种.由于业务需要,需要给用户发送邮件的时候,分别显示不同的后缀. 这个需求其实解决起来不是很简单,因为我们知道Exchange中,用户不能和QQ邮箱一样,随时去切换自己的邮箱地址.你可以设定多个邮箱作为接收,但是没办法随时更改发送地址. 解决方法如下: 1.从用户邮箱中分离@ny9s.co.jp地址 2.利用用户中文名字+(奶油日本)作为

PowerShell 批量添加域用户(Windows 2012 R2)

PowerShell版本 1. 实施的前提请准备好相关域用户信息,一般都是Excel表,格式如下 注:为了方便导入,我将PowerShell相关名与表格中值一一对应. Group组织单元需要提前建立出来,也可以用PowerShell命令 用户密码我是用函数来做的,数字+字母最好,但是有些字母数字,如数字0和小写字母o和大写字母O,给用户及运维工作人员带来不便,固我采用了随机数字+固定字母来做. 2. 将表格另存为后缀名.CSV格式文件(该文件会以逗号形式隔开每个字符串值),若表中有中文,需要我们

Exchange2013配置-EMS下批量创建用户邮箱

分析:为用户启用邮箱可以在图形界面(Exchange管理控制台)或命令行界面(Exchange Management Shell)完成,相比较而言,GUI界面较为直观,而CLI界面更加灵活和高效. 如果是单个用户,可以使用 Enable-mailbox –identity user01 //为user01用户启用邮箱,其它属性默认 如果是基于某个OU批量启用用户账户 Get-user –organizationalunit Market |enable-mailbox //为Market组织单位

使用powershell批量添加Qt的文件(生成pro)

想使用QtCreator作为编辑器编辑keil或者IAR的工程,需要生成.pro文件,于是使用powershell批量处理. 源码如下: $incPath = dir -filter "*.h" -Recurse $headList="","" $pathList = "","" foreach($fpath in $incPath) { $headList+=$fpath.DirectoryName +