【问题标题】:Powershell result must Set checkmark 'User must change Password'Powershell 结果必须设置复选标记“用户必须更改密码”
【发布时间】:2015-08-11 09:07:31
【问题描述】:

此 Powershell 脚本显示密码明天到期的活动目录用户。

 $1day=(get-date).AddDays(1-$maxPwdAge)
 Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False -and PasswordLastSet -gt 0} –Properties * |
 where {$_.PasswordLastSet -ge $1day}

有人可以帮我调整脚本,以便密码在一天内过期的结果在活动目录中设置复选标记“用户必须更改密码”。

【问题讨论】:

  • 这是什么语言的?请相应地编辑您的标签
  • 为什么要在 1 天内强制更改密码的每个用户都强制更改密码?听起来有点自相矛盾。使用 set-Aduser 和 -ChangePasswordAtLogon 您可以实现这一目标
  • 与复制有关。谁能告诉我怎么做?
  • @Baggio1001 “与复制有关” 怎么回事?您的复制拓扑不关心密码是现在到期还是明天到期
  • 如果有人忘记更改密码并且它会在活动的 Windows 会话中过期,那么许多使用 ldap 的后台程序就会造成麻烦。很难解释,但在密码到期前一天设置复选标记非常重要。感谢您帮助我@MathiasR.Jessen

标签: powershell foreach active-directory passwords


【解决方案1】:

这不是 PowerShell,但这是我的 DOS Batch 笔记中的内容。

for /f "tokens=1 delims=," %a in (users.csv) do wmic path Win32_UserAccount WHERE Name='%a' set PasswordExpires=false

我相信如果PasswordExpires=True 那么用户在下次登录时必须更改密码。附加信息herehere

【讨论】:

  • 这不是我需要的。我需要的是我的脚本的延续: $maxPwdAge=(Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.Days $1day=(get-date).AddDays(1-$maxPwdAge) Get-ADUser -filter {Enabled -eq $True -和 PasswordNeverExpires -eq $False -和 PasswordLastSet -gt 0} –属性 * | where {$_.PasswordLastSet -ge $1day} 上面的脚本给了我一个密码明天到期的用户列表。对于这些用户,必须选中复选框:必须在下次登录时更改密码。 @user4317867
  • @Baggio1001 我做了一些搜索并找到了this
  • 谢谢,这给了我密码明天到期的用户的结果。剩下要做的就是设置用户必须更改密码@下次登录 Active Directory..
猜你喜欢
  • 1970-01-01
  • 2018-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-06
  • 2012-05-18
相关资源
最近更新 更多