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

PowerShell单用户密码重置脚本需添加按键重运行与终止功能

修改后的单用户密码重置脚本

下面是添加了循环运行/终止功能的PowerShell脚本,满足你按任意键重新运行、按q键终止的需求:

do {
    # 清屏
    Cls 

    # 获取目标用户名
    $sam = Read-Host -Prompt 'Username?'
    # 定义初始密码(建议实际使用时改为更安全的生成方式)
    $Pass = 'samplepass123' 

    # 将明文密码转换为安全字符串
    $Pass1 = ConvertTo-SecureString $Pass -AsPlainText -Force

    # 重置AD账户密码
    Set-ADAccountPassword $sam -NewPassword $Pass1 -Reset

    # 输出用户名和密码(注意:生产环境建议移除或加密输出)
    Write-Host "已重置用户 $sam 的密码为: $Pass" -ForegroundColor Green

    # 提示用户操作选项
    Write-Host "`n按任意键重新运行脚本,按 q 键退出" -ForegroundColor Cyan

    # 读取用户按键(无需回车)
    $key = $host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')
} while ($key.Character -notmatch '[qQ]') # 当按键不是q/Q时继续循环

关键功能说明:

  • 用do-while循环包裹核心逻辑,实现重复运行的基础框架
  • 通过$host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')读取单个按键输入,无需用户按回车确认
  • 循环终止条件:当用户按下q或Q时退出脚本;按下其他任意键则重新执行密码重置流程
  • 添加彩色提示信息,提升操作直观性

额外建议:

  • 固定密码samplepass123存在安全风险,实际使用时可改为随机生成密码,比如用[System.Web.Security.Membership]::GeneratePassword(12,3)生成12位包含特殊字符的密码
  • 生产环境中建议移除密码明文输出的代码,避免泄露

内容的提问来源于stack exchange,提问作者kila

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 01:41:03