目录
一、收集信息
二、编写脚本
(一)新建aduser.ps1的powershell脚本
(二)New-Aduser命令详解
三、生产环境报错
(一)ConvertTo-SecureString
(二)指定的账号已存在
(三)导入的用户信息显示乱码编辑
一、收集信息
批量创建用户时,需要先有一些账户的信息,需要收集的用户信息如下:
Name
|
用户姓名
|
例:胡丽
|
SurName
|
姓
|
胡
|
GiverName
|
名
|
丽
|
sAMAccounName
|
登录名
|
huli
|
DisplayName
|
显示名
|
胡丽
|
UPN
|
用户主体名称
|
huli
|
Path
|
用户部门信息
|
商务管理部(根据域控实际架构)
|
Department
|
用户公司信息
|
测试公司(根据域控实际架构)
|
EmployeeNumber
|
用户工号
|
111111
|
Mobile
|
用户手机号
|
13333333333
|
Password
|
密码
|
Adpn-1111*
|
将收集到的信息保存为.csv或者.txt格式的文件,文件编码格式必须为Unicode,文件编码为其他格式会导致中文显示乱码。
二、编写脚本
(一)新建aduser.ps1的powershell脚本
脚本详细命令如下,user.csv为用户信息文件
$userlist=import-csv -path user.csv
foreach($user in $userlist)
{
$ou="ou="+$user.department+",ou="+$user.path+",ou=测试公司,dc=test,dc=com,dc=cn";
$upn=$user.upn+"@test.com.cn";
New-aduser -name $user.name -samaccountname $user.samaccountname -GivenName $user.givenName -Surname $user.sn -Mobile $user.mobile -Path $ou -userprincipalname $upn -displayname $user.displayname -employeeNumber $user.employeeNumber -accountpassword (convertto-securestring $user.password -asplaintext -force) -enabled $true
}
(二)New-Aduser命令详解
-name
|
姓名
|
-samaccountname
|
登录名
|
-GivenName
|
名
|
-Surname
|
姓
|
-Mobile
|
电话
|
-Path
|
用户OU信息
|
-userprincipalname
|
用户主体名
|
-displayname
|
显示名
|
-employeeNumber
|
工号
|
-accountpassword
|
密码
|
-enabled
|
启用账号
|
具体New-aduser详细参数:New-ADUser (ActiveDirectory) | Microsoft Learn
三、生产环境报错
(一)ConvertTo-SecureString
ConvertTo-SecureString : 无法将参数绑定到参数“
String
”
,因为该参数是空值。
原因及解决方法:用户信息文件格式不对,参数之间有空格,需要统一使用英文逗号隔开
(二)指定的账号已存在
原因及解决方法:存在相同的用户名或登录名,需要重新修改
(三)导入的用户信息显示乱码
原因及解决方法:用户信息文件格式不对,修改文件格式为Unicode