PowerShell在Exchange2010下快速开启邮箱[续]

简介:
1
上一篇博客还是有点问题的,这一篇才是真正解决的。

我们通过PowerShell来快速创建用户邮箱,如果希望记录每次操作了几个用户,应该怎么做?下面这个例子可以实现创建用户邮箱的时候,专门用一个文件记录,记录文件具体操作的指令,可以作为备份使用。后缀名我用的是PS1,实际上用txt也没什么不可以。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#脚本本身放在E盘根目录就ok了,其他不需要做任何设置。
#powerd by 九叔  a9y@foxmail.com 
e:  #进入磁盘e
Remove-Item  e:/mail.ps1  #删除脚本临时运行文件
$list = get-user   -OrganizationalUnit 牛逼公司 -RecipientTypeDetails user  #取未获得邮箱的用户列表,从整个域内获取,可以指定特定OU。牛逼公司就是OU名,可以任意修改,不需要引用
$list   >> e:/mail.ps1
cat e:/mail.ps1
Write-Host  '↑↑↑↑本次要操作的开启邮箱的用户名如上↑↑↑↑'
$extime  = ( Get-Date  -Format  'yyyyMMddHHmmss' )
$tt  "e:/"  $extime  ".ps1"  #包含时间的存储操作记录的文件,后缀可以随意修改
Write-Host  '请点击任意键继续,或关闭该进程取消!'  -NoNewline  #点击任意键继续
$null  [Console] ::ReadKey( '?' ) #点击任意键继续
Remove-Item  e:/mail.ps1
     #以下进入循环,吐需要的命令
ForEach  ( $item  in  $list )
{
$sam  = $item .SAMAccountName
$user  $item .name
#$user = -Split $item
echo  "Enable-Mailbox -Identity '$user' -Alias '$sam' -Database 'xyz'"  >>  $tt
echo  "Enable-Mailbox -Identity '$user' -Alias '$sam' -Database 'xyz'"  >> e:/mail.ps1  #吐到后期要执行的文件中
}
./mail.ps1  #执行新的PowerShell文件

把文件用PowerShell的编辑器打开,学习下吧,很简单。这个暂时就是最终版了,应该有一段时间不用修改了。


这篇博客感谢PowerShell的MVP付海军,虽然他给我的一个很好的方法没用上,但是解决了我的另外一个问题。



本文转自 九叔 51CTO博客,原文链接:http://blog.51cto.com/jiushu/1624204,如需转载请自行联系原作者

相关文章