PowerShell版本


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

 

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


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


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

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

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

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

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


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


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 }


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

 

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


注:

'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

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

 

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


5. 附上操作的excel文件