您的位置:首页 > 其它

Exchange 2010系列部署报告-批量创建AD用户、组和启用用户邮箱等

2014-10-22 09:25 645 查看
简单的说一下如何批量创建ou、AD用户、组和启用用户邮箱
先收集好公司的组织架构的信息,为每一个部门配置一个ou或者在每个分公司配置一个ou,在分公司ou下再配置部门ou。
注意:如果Excel版本是2010以上的,需要创建xls文件,再转化成csv。
先创建一个branch.csv文件,并填写相关branch的信息。



再创建一个部门ou的csv文件,并填写相关信息。



利用for…..do…循环命令,批量建OU
for /f "tokens=1 delims=," %a in (d:\branch.csv) do dsadd ou "ou=%a,dc=contoso,dc=com"
相关说明:
1、先用Excel表格做一个简单模版,将其保存为.csv格式;
2、再用For命令结合dsadd 来完成批量创建OU
3、tokens=1:表示有1个变量
delims=, :表示分隔符为“,”
%a in (d:\branch.csv) :表示变量从路径“d:\branch.csv”中取数据
dsadd :添加命令
ou=%a,dc=contoso,dc=com :表示所创建的用户名与创建位置
ou=%a :设置OU为变量a
更多的参数,请参考dsadd user /?
创建分公司



创建分公司下面的部门ou



可以在Active Directory用户和计算机看到刚创建的ou



这种命令创建出来的ou是可以删除的



为了避免其他用户可以删除ou,在powershell将ou设置为防止对象被意外删除
在powershell 加载ad模块,查询没有设置防止对象被意外删除的ou
Import-Module ActiveDirectory
Get-ADOrganizationalUnit -filter * -Properties ProtectedFromAccidentalDeletion | where {$_.ProtectedFromAccidentalDeletion -eq $false} | ft



Get-ADOrganizationalUnit -filter * -Properties ProtectedFromAccidentalDeletion | where {$_.ProtectedFromAccidentalDeletion -eq $false} |Set-ADOrganizationalUnit -ProtectedFromAccidentalDeletion $true









批量创建域用户
创建域用户的csv文件



New-ADuser参数:http://technet.microsoft.com/en-us/library/ee617253.aspx
$password = convertto-securestring -String P@ssw0rd -AsPlainText –Force
Import-Csv d:\user01.csv | %{New-ADUser -Name $_.name -SamAccountName $_.SamAccountName -userprincipalname $_.userprincipalname -givenname $_.givenname -surname $_.surname -displayname $_.displayname -Path $_.Path -accountpassword $password -enabled $true }



将csv文件编码改为UTF-8编码格式



重新运行命令






注意:用户csv文件内的用户名等信息,不要有空格,出现空格会导致创建失败的。
批量创建组并加用户加到组



Import-Csv "c:\group.csv" | Foreach {New-ADGroup -Name $_.name -SamAccountName $_.samaccountname -Description $_.description -GroupScope $_.groupscope -GroupCategory $_.groupcategory –Path $_.path}



切记:csv文件组名不要空格。



将用户加入对应的组
Get-ADUser -Filter {department -eq "IT"} -SearchBase "dc=contoso,dc=com" | %{Add-ADGroupMember -identity "cn=ITGroup,ou=IT,ou=广州分公司,dc=contoso,dc=com" -Members $($_.SamAccountName)}






批量启用用户邮箱
Get-User -RecipientTypeDetails User -Filter { UserPrincipalName -ne $Null } | Enable-Mailbox -Database "数据库名称" (注意:该命令针对整个AD域内的用户,可以配置ou指定到指定数据库)



别名出现乱码,我们可以通过脚本来重新设置。
$mailbox=Get-Mailbox
ForEach ($item in $mailbox)
{
$user=Get-User $item
$sam=$user.SAMAccountName
Set-Mailbox $item –Alias "$sam"
}
将脚本保存为ps1文件,然后在EMS运行。



查看当前邮箱状态


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息