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

使用PowerShell重置AD用户密码时,如何启用下次登录需改密码功能?

AD密码重置脚本未触发「下次登录必须更改密码」的修复方案

你的脚本问题出在两个核心点:一是Set-ADAccountPassword -Reset操作会重置AD用户的部分密码相关属性,可能覆盖后续的ChangePasswordAtLogon设置;二是如果目标用户开启了「密码永不过期」选项,ChangePasswordAtLogon会直接失效。

修复后的脚本

param(
    [Parameter(Mandatory=$true)]
    [string]$Identity,
    [Parameter(Mandatory=$true)]
    [string]$NewPassword,
    [Parameter(Mandatory=$true)]
    [PSCredential]$Credential
)

# 重置目标用户密码
Set-ADAccountPassword -Identity $Identity -Reset -NewPassword (ConvertTo-SecureString -AsPlainText $NewPassword -Force) -Credential $Credential

# 强制开启「下次登录必须改密码」,同时关闭「密码永不过期」(避免属性冲突)
Set-ADUser -Identity $Identity -ChangePasswordAtLogon $true -PasswordNeverExpires $false

# 输出结果JSON
[pscustomobject]@{
    Identity = $Identity
    NewPassword = $NewPassword
} | ConvertTo-Json -Depth 1

关键修复说明

  • 移除硬编码凭证:改用PSCredential参数传入管理员凭证,彻底避免明文密码泄露风险
  • 解决属性冲突:强制关闭PasswordNeverExpires,因为该属性开启时,AD会直接忽略ChangePasswordAtLogon设置
  • 确保设置生效:在密码重置后执行Set-ADUser操作,覆盖AD自动重置的属性值,保证「下次改密码」的配置生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 14:12:42