用户账户管理

Active Directory · 第 5 篇 · 适用于 Windows Server 2019 / 2022 / 2025

📑 目录

  1. 创建用户账户
  2. 配置用户属性
  3. 密码与账户策略
  4. 启用禁用与重置密码
  5. CSV 批量导入用户
  6. 常见问题

1. 创建用户账户

1

打开 ADUC(dsa.msc)→ 导航到目标 OU(如 OU=Users,OU=IT)→ 右键 → 新建用户

2

填写姓名和登录名:姓"张"、名"三"、用户登录名 zhangsan(UPN 后缀 iehang.cn)→ 下一步

3

设置初始密码(需符合密码复杂度要求),勾选用户下次登录时须更改密码 → 完成

PowerShell - 创建用户
# 创建单个用户
New-ADUser `
    -Name "张三" `
    -GivenName "三" `
    -Surname "张" `
    -SamAccountName "zhangsan" `
    -UserPrincipalName "zhangsan@iehang.cn" `
    -Path "OU=Users,OU=IT信息部,DC=iehang,DC=cn" `
    -AccountPassword (ConvertTo-SecureString "P@ssw0rd01!" -AsPlainText -Force) `
    -Enabled $true `
    -ChangePasswordAtLogon $true

# 批量创建(从数组)
$users = @(
    @{Name="李四"; GivenName="四"; Surname="李"; Sam="lisi"; Dept="IT信息部"},
    @{Name="王五"; GivenName="五"; Surname="王"; Sam="wangwu"; Dept="财务部"},
    @{Name="赵六"; GivenName="六"; Surname="赵"; Sam="zhaoliu"; Dept="业务部"},
    @{Name="孙七"; GivenName="七"; Surname="孙"; Sam="sunqi"; Dept="生产部"},
    @{Name="周八"; GivenName="八"; Surname="周"; Sam="zhouba"; Dept="人事部"}
)

foreach ($u in $users) {
    New-ADUser -Name $u.Name -GivenName $u.GivenName -Surname $u.Surname `
        -SamAccountName $u.Sam -UserPrincipalName "$($u.Sam)@iehang.cn" `
        -Path "OU=Users,OU=$($u.Dept),DC=iehang,DC=cn" `
        -AccountPassword (ConvertTo-SecureString "P@ssw0rd01!" -AsPlainText -Force) `
        -Enabled $true
}

2. 配置用户属性

PowerShell - 设置用户属性
# 设置用户详细信息
Set-ADUser "zhangsan" `
    -Department "IT" `
    -Title "系统工程师" `
    -Company "爱依航" `
    -Office "临沂" `
    -EmailAddress "zhangsan@iehang.cn" `
    -OfficePhone "0539-88880001" `
    -Manager (Get-ADUser "lisi")

# 查看用户完整信息
Get-ADUser "zhangsan" -Properties * | Select-Object Name, Department, Title, EmailAddress, Manager"

3. 密码与账户策略

策略项默认值推荐值
密码最小长度7 个字符12 个字符
密码最长使用期限42 天90 天(或按需求)
密码最短使用期限1 天1 天
密码必须符合复杂性要求已启用已启用
账户锁定阈值0(不锁定)5 次
账户锁定持续时间未定义30 分钟

4. 启用禁用与重置密码

PowerShell - 账户管理
# 禁用用户
Disable-ADAccount "zhangsan"

# 启用用户
Enable-ADAccount "zhangsan"

# 解锁账户
Unlock-ADAccount "zhangsan"

# 重置密码
Set-ADAccountPassword "zhangsan" -Reset `
    -NewPassword (ConvertTo-SecureString "NewP@ssw0rd!" -AsPlainText -Force)

# 查找被锁定的用户
Search-ADAccount -LockedOut | Select-Object Name, SamAccountName"

5. CSV 批量导入用户

PowerShell - CSV 批量导入
# CSV 文件格式(users.csv):
# Name,Surname,GivenName,SamAccountName,Department,Path
# 陈七,陈,七,chenqi,IT,"OU=Users,OU=IT信息部,DC=iehang,DC=cn"

$users = Import-Csv "C:\temp\users.csv"

foreach ($u in $users) {
    try {
        New-ADUser -Name $u.Name -Surname $u.Surname `
            -GivenName $u.GivenName -SamAccountName $u.SamAccountName `
            -Path $u.Path -Department $u.Department `
            -UserPrincipalName "$($u.SamAccountName)@iehang.cn" `
            -AccountPassword (ConvertTo-SecureString "P@ssw0rd01!" -AsPlainText -Force) `
            -Enabled $true -ErrorAction Stop
        Write-Host "已创建用户: $($u.Name)" -ForegroundColor Green
    } catch {
        Write-Host "创建失败: $($u.Name) - $_" -ForegroundColor Red
    }
}

6. 常见问题

Q1:密码不符合复杂性要求怎么办

密码必须满足:至少 8 个字符、包含大写+小写+数字+特殊字符。如果实验时嫌麻烦,可以在 GPO 中临时关闭复杂性要求,或使用 -PasswordNeverExpires $true(仅限实验)。

Q2:用户登录提示"用户名或密码错误"

检查:1) Caps Lock 是否开启;2) 确认用户输入的是 UPN(zhangsan@iehang.cn)还是 NETBIOS(IEHANG\zhangsan);3) 检查用户是否被锁定(Search-ADAccount -LockedOut)。