命令是干什么的
New-ADUser 在指定 OU 中创建域用户对象:账号名、显示名、UPN、初始密码与启用状态都要显式指定。它默认创建禁用状态的账户,这是有意为之的安全默认值,避免账号在权限尚未配好之前就能登录。
默认禁用的意义
默认禁用把流程变成先建号、再配权限、最后启用,避免出现账号已能登录但还没纳入权益管理的空窗。脚本里若希望直接启用,必须显式加 -Enabled $true,并配 -ChangePasswordAtLogon $true 让用户下次登录时自改初始口令。
基本信息
| 适用平台 | Windows Server 2008 R2 及以后 + RSAT 的 ActiveDirectory 模块 |
|---|---|
| 权限要求 | 需对目标 OU 有创建用户对象的权限或相应委派 |
| 语法 | New-ADUser -Name 名称 -SamAccountName 账号 -UserPrincipalName UPN -Path OU路径 -AccountPassword 安全字符串 |
| 常用可选 | -Enabled $true、-ChangePasswordAtLogon $true、-GivenName、-Surname、-Department |
典型使用场景
- 新员工入职:在对应 OU 创建账号并加入业务组
- 批量开户:从花名册 CSV 循环创建账号
- 测试环境快速生成一批账号
- 为外包或临时人员创建带过期时间的账号
- 按命名规范统一创建服务账号
常用示例
常用示例
$pw = ConvertTo-SecureString 'Init@2026' -AsPlainText -Force
New-ADUser -Name '王小明' -SamAccountName 'wxm01' -UserPrincipalName 'wxm01@corp.local' `
-Path 'OU=Staff,DC=corp,DC=local' -AccountPassword $pw `
-ChangePasswordAtLogon $true -Enabled $true -GivenName '小明' -Surname '王' -Department 'IT'
Get-ADUser -Identity wxm01 | Select-Object Name, SamAccountName, Enabled, DistinguishedName参数读法
| 参数 | 作用 | 注意 |
|---|---|---|
| -Name | 对象显示名 | 通常写中文姓名 |
| -SamAccountName | 登录账号名 | 建议用 ASCII 并遵循命名规范 |
| -UserPrincipalName | UPN 登录名 | 后缀必须是域已注册的 UPN 后缀 |
| -Path | 创建位置(OU) | 不写会落在默认容器中 |
| -AccountPassword | 初始密码 | 需是安全字符串对象 |
| -Enabled | 是否启用 | 默认禁用,要启用须显式指定 |
| -ChangePasswordAtLogon | 下次登录强制改密 | 适用于普通员工账号 |
New-ADUser 默认创建禁用账户,忘了加 -Enabled $true 就会出现账号建好了但登录不了的现象。
UPN 后缀必须是域已经注册的 UPN 后缀,否则命令直接报错;多后缀环境要先确认目标后缀已添加。批量开户建议先在小范围验证命名规范与 OU 归属,再全量执行,创建后用 Get-ADUser 复核 Enabled 与 DistinguishedName 是否符合预期。账号创建完成后再按需加入业务组,避免直接给个人授予资源权限。