一、创建csv表
-
准备 CSV 文件
-
在电脑打开 Excel
-
新建表格,第一行必须按顺序写这些列名 (不能错字、不能少):
SamAccountName,Surname,GivenName,Name,AccountPassword,Path -
第二行开始填用户信息(示例):
新建一个文本文件,命名为 users.csv,内容格式如下
|----------------|---------|-----------|------|-----------------------------------|-----------------|
| SamAccountName | Surname | GivenName | Name | Path | AccountPassword |
| 员工编号 | 姓 | 名 | 姓名 | OU组 | 初始密码 |
| 20260507 | 张 | 三 | 张三 | OU=测试用户,DC=hfkj,DC=cmbchina,DC=cn | Abc-1234 |
保存文件:
- 点击 另存为
- 保存类型选 CSV (逗号分隔)(*.csv)
- 保存路径必须是:
C:\Add-Users-DDW\users.csv - 如果没有
Add-Users-DDW文件夹,手动新建一个
二、创建powerShell脚本
2.1 用管理员身份打开 PowerShell
-
点击电脑左下角 开始菜单
-
找到 Windows PowerShell 或 PowerShell
-
右键 → 以管理员身份运行
-
弹出 "是否允许更改",点 是
2.2 执行 PowerShell 命令
-
复制下面完整脚本(直接全选复制)
Import-Module ActiveDirectory
Import-Csv -Path "C:\Add-Users-DDW\users.csv" -Encoding UTF8 | ForEach-Object {
securePassword = ConvertTo-SecureString -String .AccountPassword -AsPlainText -Force
userFullName = "(_.SamAccountName)\$(.Name)"
# 所有参数写在一行,避免换行解析错误
New-ADUser -SamAccountName _.SamAccountName -Surname .Surname -GivenName _.GivenName -Name userFullName -DisplayName userFullName -UserPrincipalName "(_.SamAccountName)@hfkj.cmbchina.cn" -Path .Path -AccountPassword securePassword -Enabled true -ChangePasswordAtLogon $true
}
Write-Host "创建完成!请查看AD用户属性,姓和名应该已正常显示。"
#上述命令解析理解,仅供参考
1. 加载 Active Directory 模块
必须先执行这一步,否则无法使用 New-ADUser 等AD管理命令
Import-Module ActiveDirectory
2. 导入CSV文件,并循环处理每一行用户数据
Import-Csv:读取指定路径的用户信息表格
-Encoding UTF8:防止中文姓名乱码
ForEach-Object { }:对表格里的每一个用户,依次执行大括号内的操作
Import-Csv -Path "C:\Add-Users-DDW\users.csv" -Encoding UTF8 | ForEach-Object {
<#
- 处理密码
AD 不接受明文密码,必须转换成"安全字符串"
$_.AccountPassword 表示:从当前CSV行读取"AccountPassword"列的值
#>
securePassword = ConvertTo-SecureString -String _.AccountPassword -AsPlainText -Force
<#
- 拼接用户在AD中显示的名称
格式:登录名\姓名 例如:zhangsan\张三
$_.SamAccountName = 登录账号
$_.Name = 姓名
#>
userFullName = "(_.SamAccountName)\\($_.Name)"
<#
- 创建AD用户(核心命令)
所有参数从CSV表格中自动读取,一行写完避免PowerShell解析错误
参数说明(对应CSV列):
-SamAccountName 登录账号(必选)
-Surname 姓
-GivenName 名
-Name AD中显示的对象名称(这里用 登录名\姓名)
-DisplayName 显示名称
-UserPrincipalName 登录名(账号@域名)
-Path 用户要放到哪个OU(组织单元)
-AccountPassword 账号密码
-Enabled $true 启用账号
-ChangePasswordAtLogon $true 首次登录必须修改密码
#>
New-ADUser -SamAccountName _.SamAccountName -Surname .Surname -GivenName _.GivenName -Name userFullName -DisplayName userFullName -UserPrincipalName "(_.SamAccountName)@hfkj.cmbchina.cn" -Path .Path -AccountPassword securePassword -Enabled true -ChangePasswordAtLogon $true
}
6. 循环结束,输出提示信息
Write-Host "创建完成!请查看AD用户属性,姓和名应该已正常显示。"
#标红的字体,需按实际情况修改
....................................................................................................................
- 粘贴到打开的 管理员 PowerShell 窗口里
- 按 回车 执行
- 出现 创建完成! 就代表成功了