You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell批量重置AD用户密码:无特殊字符及自定义密码需求

PowerShell AD密码重置脚本解决方案

需求1:生成仅含大小写字母和数字的随机密码

修改原脚本的密码生成逻辑,限定字符池为大小写字母和数字即可:

$ListOfUsers = Get-Content C:\temp\list.txt
foreach ($user in $ListOfUsers) {
    # 定义仅包含大小写字母和数字的字符池
    $charPool = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
    # 从字符池随机选取9个字符生成密码
    $Password = -join ($charPool.ToCharArray() | Get-Random -Count 9)
    # 转换为安全字符串
    $Pass = ConvertTo-SecureString $Password -AsPlainText -Force
    # 重置AD用户密码
    Set-ADAccountPassword $user -NewPassword $Pass -Reset
    # 输出用户名和密码
    Write-Host "$user : $Password"
}

需求2:从文本文件导入对应密码设置

逗号分隔格式(如user_passwords.csv)

假设文件每行格式为用户名,密码(无表头),使用以下脚本批量设置:

# 导入用户密码列表,指定表头
$userPasswordList = Import-Csv -Path C:\temp\user_passwords.csv -Header UserName, Password
foreach ($entry in $userPasswordList) {
    $securePass = ConvertTo-SecureString $entry.Password -AsPlainText -Force
    Set-ADAccountPassword $entry.UserName -NewPassword $securePass -Reset
    Write-Host "已重置用户 $($entry.UserName) 的密码"
}

空格分隔格式(如user_passwords.txt)

如果文件每行格式为用户名 密码(空格分隔),改用以下写法:

Get-Content C:\temp\user_passwords.txt | ForEach-Object {
    $user, $password = $_ -split '\s+', 2
    $securePass = ConvertTo-SecureString $password -AsPlainText -Force
    Set-ADAccountPassword $user -NewPassword $securePass -Reset
    Write-Host "已重置用户 $user 的密码"
}

关于New-Password命令的报错解决

  1. "New-Password未被识别为有效命令":New-Password不是PowerShell内置命令,若使用第三方模块(如PasswordGenerator),需先执行Install-Module PasswordGenerator(管理员权限)再运行Import-Module PasswordGenerator;若为自定义函数,需确保函数定义在脚本执行前已加载。

  2. "Symbols参数不存在":说明你调用的New-Password函数未定义Symbols参数,需检查函数参数列表,改用函数支持的参数(比如部分实现用ExcludeSymbols移除特殊字符)。

  3. "List::new()方法未找到":这是.NET语法兼容问题,PowerShell中创建泛型列表需用New-Object而非C#构造语法,正确写法为:

$charList = New-Object System.Collections.Generic.List[char]

若自定义New-Password函数出现此错误,需修改函数内的列表创建代码为上述PowerShell兼容写法。

内容的提问来源于stack exchange,提问作者S.Mahmood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 11:37:40