Exchange Server 2010用户管理

简介:
 Exchange server 2010 总结目录

 

第一篇 Exchange Server 2010的安装:http://itmydream.blog.51cto.com/961933/1090920

第二篇 Exchange Server 2010无人值守安装:http://itmydream.blog.51cto.com/961933/1090930

第三篇 Exchange Server 2010用户管理 http://itmydream.blog.51cto.com/961933/1091344

 

以后的文档,如无特殊说明,都是根据第一篇的拓扑来进行的,我们已经建立好了Exchange Server 2010本次,我们来进行用户邮箱的建立!

本节分为以下六部分:

→常规创建用户邮箱

→powershell建立单个用户邮箱

→powershell批量建立用户邮箱

→powershell批量启用用户邮箱

→个别BUG说明并提供解决方案

→总结

一 常规用户邮箱的建立

1, 由于常规建立邮箱方法很简单,我们大概说下,打开EMC—收件人策略—邮箱,在空白处,右键新建邮箱

用户邮箱:请看截图中的解释

会议室邮箱:是一个资源邮箱,在域中是被禁用的,只是一种资源被调用的

设备邮箱:同上

链接邮箱:比如收购了一家公司,对方还没有邮箱,但有域环境,这个时候可以不再对方域里搭建Exchange,可以通过链接邮箱,直接在本公司里建立邮箱,但这个邮箱账号是对方公司AD域里的账号,有机会在做测试!

clip_image002

2, 新建用户或者现有用户,一个是AD域里还不存在这个账号,在新建的时候可以同时建立AD账号以及邮箱,一个是现有用户,也就是说账号必须已经存在AD数据库里,下一步,在用户信息里

可以选择用户所在的OU,并可以勾选用户下次登录是否要更改密码

clip_image003

3, 邮箱设置里,如果有多个数据库可以进行选择,默认情况下,邮箱的组成是根据别名来的,可以更改,后期在讲!完成后就已经新建立了一个用户邮箱!

clip_image005

4, 说明一点需要注意的,选中tom可以看到一个禁用和删除,这一点我们要特别注意,禁用的意思就是取消tom的邮箱功能,删除的意思是从AD数据库里删除这个账号以及邮箱,因为EMC和AD的管理功能进行了集合,所以操作的时候一定要谨慎!其他的属性,后期在慢慢分类来讲!

clip_image006

5, 如果进行了禁用的操作,tom已经不能使用邮箱了,但账号还在,我们需要进行重新的关联,打开断开连接的邮箱,选中tom进行连接

clip_image007

6, 选择现有用户,找到tom,并设置别名tom,下一步完成就可以找回tom的邮箱了,但如果是删除的操作,那么就需要进行恢复了!所以谨慎行事!

clip_image008

二 使用powershell建立用户

1, 打开EMS,输入以下代码;

New-mailbox –name ‘bobo’ –alias ‘bobo’ –organizationalunit ‘cnmvp.net/mis’ –userparincipalname ‘bobo@cnmvp.net’ –samaccountname ‘bobo’ –firstname ‘’ –initials ‘’ –lastname ‘bobo’

clip_image010

2,EMS提示需要有凭据,我们输入bobo的密码确定即可

clip_image012

三 使用powershell批量的建立用户

说明:这种方式适合初期规划的企业,一次性的把公司所有的账号进行创建等!

1, 首先建立一个csv文件,打开excel,按图中的格式进行排版,完成后另存为addmailbox.csv格式的文件

请注意,OU一栏,请首先在AD数据库里进行建立,并保持我们的设定值,也就是hr在cnmvp域名的下一级目录

clip_image013

2, 打开EMS,输入代码

Import-CSV "C:\addmailbox.csv" | ForEach-Object -process {$Temp = ConvertTo-SecureString $_.Password -asPlainText -force;New-Mailbox -Name $_.Name -UserPrincipalName $_.UPN -OrganizationalUnit $_.OU -Database "Mailbox Database" -Password $Temp }

Import-CSV 命令读取 Addmailbox.csv 文件的内容。CSV 文件的内容随后通过管道传递给 ForEach-Object 命令,后者执行一个脚本块,为 CSV 文件中列出的每个明细项目新建邮箱。脚本块中的 ConvertTo-SecureString 命令将 CSV 文件中的纯文本密码转换为安全字符串,并将其存储在临时变量 $Temp 中。New-Mailbox 命令会新建邮箱,并使用 $Temp 变量创建新用户的密码。

clip_image015

这里需要需要特别注意,我查了很多的资料,网上流传最广的一个代码是:

Import-CSV "C:\NewUsers.csv" | ForEach-Object -process {$Temp = ConvertTo-SecureString $_.Password -asPlainText -force;New-Mailbox -Name $_.Name -UserPrincipalName $_.UPN -OrganizationalUnit $_.OU -Database "Mailbox Database" -Password $Temp -TemplateInstance $Template}

差别就是蓝色的参数,多次进行测试,根本就通不过,会报错,如图

clip_image017

经过查阅相关资料:http://technet.microsoft.com/zh-cn/library/bb125152.aspx 证实,TemplateInstance是Exchange server 2007的参数,在2010里并不适用,所以请大家注意,根据相应的版本选择相应的参数!

3, 返回邮箱控制台,我们可以看到已经批量建立出来的邮箱,当然AD也一定有这个账号

clip_image019

4, 使用其中一个账号登录测试,账号9已经 可以登录邮箱

clip_image021

四 powershell批量启用用户邮箱

说明:此方法适合那些后来增加了Exchange服务,但是已经有AD账号了,需要批量进行启用现有账号的邮箱

1, 建立一个OU,并建立四个用户,来模拟我们的环境

image

2, 打开EMS,使用以下参数进行启用

Get-user –Organizationalunit mis | enable-mailbox

先获取MIS这个Ou里的所有用户,然后获取都的结果作为后面命令enable的一个条件!当然,如果有需要也可以获取到全部的用户,然后全部启用!

image

3, 使用Alice进行登录

clip_image026

五:BUG说明以及解决方案

说明:有些中文字符在powershell的支持好像不是很好,相信细心的朋友已经看到了,批量建立的时候显示名是乱码,这个还没有找到相关修改的代码,并且启用MIS里的用户邮箱的时候,甜甜的alias名字时乱码,在EMC里显示的是乱码,在我们的实际生产环境中,以中文命名的几率基本是100%,所以这也就造成了我们的一些不便!

clip_image002[1]

针对启用邮箱出现的乱骂我们有2种解决方法,第一种解决方法如下:

将下列内容copy到一个记事本中,并把这个文件存为alias.ps1文件

$list=Get-Mailbox

ForEach ($item in $list)

{

$user=Get-User $item

$sam=$user.SAMAccountName

Set-Mailbox $item –Alias "$sam"

}

注:$list=Get-Mailbox代表邮箱变量。

$item代表每个邮箱的属性变量。

$sam=$user.SAMAccountName代表每个用户的登录名变量

把alias.ps1文件保存到C盘目录下。然后打开EMS输入:c:\1.ps1

clip_image003[1]

修复后的结果!

clip_image005[1]

第二种解决方法是:

function NewMailUser

{

Enable-Mailbox -Identity ($_.split(","))[0] -Alias ($_.split(","))[1]

}

gc alias.csv | foreach {NewMailUser}

其中“function”为整个脚本定义函数,“NewMailUser”为定义的函数

大括号中的为启用邮箱Powershell 命令,“($_.split(","))[0]”代表调用CSV 文本文件内编号为0 的

的列,分隔符为逗号

其中“Gc alias.csv”代表被调用的CSV 文件(需要完整路径)

管道符后的“foreach ”为批量执行函数“NewMailUser”直到CSV 文件行尾

alias.csv的内容格式如下:

clip_image006[1]

第一行是显示名,第二行是登录名,这里的内容必须要求这些账号已经在AD里存在了!如果不存在那就属于新建立了,我们这里是要求启用现有用户的邮箱,而且没有乱码,请搞清楚我们的需求

clip_image007[1]

clip_image008[1]

但对于批量新建用户邮箱的乱码情况,还没找到,大家可以补充一下:可以暂时的曲线解决!

1, 批量建立AD用户的方法很多很多,之前也写过,这里就不再过多的去叙述,当然网上也有很多,大家可以随便搜索下:http://itmydream.blog.51cto.com/961933/981211

2, 相信经过第一步,建好账号后,如何启用我们在第四步已经进行测试了,所以,大家只需要跟着做就行!这里也不过多的去解释演示了!

3, 如果大家有更好的方法,请及时通知我,我会立即更改这篇文章!

 

六:总结

在这次测试过程中,我遇到了一个问题,就是那个参数TemplateInstance的问题,折腾了好久,经过多次的测试修改代码,最终才确定了问题所在,但也浪费了我很久的时间,从这个事例中,我们应该清醒,网上上的资料不一定都适合,不是说没有正确性,而是没有针对性,提问者没有交代自己的环境以及使用的版本,回答者或者文档发布者也没有有针对性的进行回答注明,造成了一个版本的标准答案,在另外一个版本上就是不能生效,微软的版本发展很快,可能这一版本还没怎么用,下一个版本就已经出来了,所以,不管是读者还是作者,都担负起那份心,那份责任!

在实际的操作中,明显的感觉到powershell的高效,也发现了微软多年的一成不变的习惯也开始慢慢的发生变化,由复杂变简单,由一种方式变成了多种方式的操作,最大的感触就是在GUI下,达成一个目标,相对之前的版本真的很方便,很省时!

IT之梦---你---我---他

2012年12月16日星期日


本文转自 IT之梦 51CTO博客,原文链接:http://blog.51cto.com/itmydream/1091344


相关文章
|
存储 数据库 数据安全/隐私保护
|
网络协议 Windows 数据安全/隐私保护