Windows域控批量创建域用户

一、创建csv表

  1. 准备 CSV 文件

  2. 在电脑打开 Excel

  3. 新建表格,第一行必须按顺序写这些列名 (不能错字、不能少):SamAccountName,Surname,GivenName,Name,AccountPassword,Path

  4. 第二行开始填用户信息(示例):

新建一个文本文件,命名为 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

  1. 点击电脑左下角 开始菜单

  2. 找到 Windows PowerShellPowerShell

  3. 右键 → 以管理员身份运行

  4. 弹出 "是否允许更改",点

2.2 执行 PowerShell 命令

  1. 复制下面完整脚本(直接全选复制)

    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 {

<#

  1. 处理密码

AD 不接受明文密码,必须转换成"安全字符串"

$_.AccountPassword 表示:从当前CSV行读取"AccountPassword"列的值

#>

securePassword = ConvertTo-SecureString -String _.AccountPassword -AsPlainText -Force

<#

  1. 拼接用户在AD中显示的名称

格式:登录名\姓名 例如:zhangsan\张三

$_.SamAccountName = 登录账号

$_.Name = 姓名

#>

userFullName = "(_.SamAccountName)\\($_.Name)"

<#

  1. 创建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 窗口里
  • 回车 执行
  • 出现 创建完成! 就代表成功了
相关推荐
MSTcheng.15 分钟前
【Linux学习】Linux学习第四弹——Linux基本指令3
linux·windows·学习·操作系统·指令
霸道流氓气质1 小时前
MyBatis 与 SQL 层面关键技术详解
windows·sql·mybatis
一直走下去-明2 小时前
在 Windows 上安装 uv
windows·uv
Lost of 程序猿2 小时前
C# 12 / .NET 9 新特性机制深度:编译器替你写了什么,哪些糖吃下去会出事
windows·c#·.net
编程的一拳超人14 小时前
DeepSeek Harness Linux/macOS/Windows 本地下载、启动与模型配置指南
linux·windows·macos·deepseek
AIGC小尼15 小时前
Windows 本地 AI 漫剧全自动生产线部署完整教程(零基础、全指令、带源码、模型配置、排错方案)
人工智能·windows·ai漫剧
运维全栈笔记17 小时前
Windows 安装 WSL2 并运行 Ubuntu 24.04 指南
linux·网络·windows·ubuntu
我命由我1234519 小时前
Windows 操作系统 - 启用 D 盘虚拟内存
java·运维·服务器·windows·学习·java-ee·运维开发
Beyond_System|系统之外20 小时前
Windows 10/11 安装与配置 Zig 0.13.0:从下载到编译验证的完整教程
windows·编译工具
2601_9623815821 小时前
Mac和Windows,哪种电脑适合新手学Python|数智码力分享
windows·python·mac·编程环境·学习入门