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

 

PowerShell版本运维


wKioL1bGxGiB8yiRAAA-9Ru1OwY846.png

 

1. 实施的前提请准备好相关域用户信息,通常都是Excel表,格式以下ide


wKioL1bGxLGSrE0PAAA2gHQXdyg319.png


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

   Group组织单元须要提早创建出来,也能够用PowerShell命令测试

   wKiom1bGxBvy1z4oAAAZM-sanQo071.png

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

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


wKioL1bGxMjDCaB3AAA3Yxhxikc053.png


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

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

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 }blog


wKioL1bGxOnixKC5AACCSufsUEY617.png

 

wKiom1bGxMDSwQemAAB1yFIGZw0998.png


注:ip

'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来执行才能成功,缘由不明。


5. 附上操做的excel文件

相关文章
相关标签/搜索