" title="朱增举 IT博客


0

powershell批量新建AD账号

编辑:管理员/ 栏目:Windows系统类 /发布于:2017年-4月-11日

 

wKioL1bGxGiB8yiRAAA-9Ru1OwY846.png

 

1. 实施的前提请准备好相关域用户信息,一般都是Excel表,格式如下

 

wKioL1bGxLGSrE0PAAA2gHQXdyg319.png

 

注:为了方便导入,我将PowerShell相关名与表格中值一一对应。

   Group组织单元需要提前建立出来,也可以用PowerShell命令

   wKiom1bGxBvy1z4oAAAZM-sanQo071.png

   用户密码我是用函数来做的,数字+字母最好,但是有些字母数字,如数字0和小写字母o和大写字母O,给用户及运维工作人员带来不便,固我采用了随机数字+固定字母来做。

2. 将表格另存为后缀名.CSV格式文件(该文件会以逗号形式隔开每个字符串值),若表中有中文,需要我们将.CSV文件以文本方式打开,并以UTF-8编码格式另存或覆盖该文件。

 

wKioL1bGxMjDCaB3AAA3Yxhxikc053.png

 

3. 用户excel表准备工作完毕,接下来,使用PowerShell命令批量导入用户信息(若是在生产环境或实施环境,请在测试机上测试可行后再导入,建议之前做一些备份工作)

登陆ad域控制器,用PowerShell命令以管理员身份执行

Import-Csv 'C:\UserData\ADUserData.csv' | ForEach-Object {New-ADUser -SamAccountName $_.SamAccountName -Surname $_.Surname -GivenName$_.GivenName -Name $_.Name -UserPrincipalName $_.UserPrincipalName -DisplayName$_.Name -Description $_.Name -Path $_.Path -AccountPassword(ConvertTo-SecureString -AsPlainText $_.AccountPassword -Force) -Enabled 1-ChangePasswordAtLogon 1 }

 

wKioL1bGxOnixKC5AACCSufsUEY617.png

 

wKiom1bGxMDSwQemAAB1yFIGZw0998.png

 

注:

'C:\UserData\ADUserData.csv'为导入.CSV文件路径,New-ADUser为添加新用户命令,-SamAccountName$_.SamAccountName 为“- 类型 $_.数据值” ,-Enabled 1 是启用账户,-ChangePasswordAtLogon 1 为用户下次登陆时必须更改密码,可根据要求自行更改。

 

4. 批量用户导入时,有时候会有少量用户未导入成功,这时候,需要我们手动导入单个用户,命令如下:

New-ADUser -Name "周八" -Surname"周" -GivenName "八"-SamAccountName "20160219008" -UserPrincipalName"20160219008@test.local" -DisplayName "周八"  -Description "周八"-Path "OU=技术部,OU=用户,OU=Test,DC=test,DC=local" -AccountPassword(ConvertTo-SecureString "567@test" -AsPlainText -force ) -Enabled$true -ChangePasswordAtLogon $true

 wKioL1bGxP3QIGz0AAA-mF9NVow136.png

 

注:-Enabled $true是启用账户,-ChangePasswordAtLogon$true为用户下次登陆时必须更改密码,可根据要求自行更改。单用户添加时这两个数值都是用$true来执行才能成功,原因不明。

本文由“朱增举 IT博客 > 管理员”整理编辑。


未注明为原创的文章以及每篇文章的评论内容都不代表本站观点,本站不对此内容的真实性及言论负责。如您发表评论意见,视为同意本站记录言论您的来源IP地址信息及发表时间。

如果喜欢这篇文章,欢迎订阅朱增举 IT博客以获得最新内容。

已经有 0 条群众意见