PowerShell 脚本计划任务根据设置的密码更改本地用户密码值

PowerShell script Scheduled Task change local user password value based on set password

我正在编写一个 PowerShell 脚本,该脚本会 运行 在任务计划程序中。 我希望它的工作方式是:

默认值设置为强制用户在下次登录时更改密码: net user su /logonpasswordchg:yes

现在代码应该是这样的:

$password = Azerty123! 如果 $password 不同于 $password 将密码从“用户必须在下次登录时更改密码”更改为“密码永不过期” 否则保留值以在下次登录时更改密码

经过多次测试,我认为以下2个值需要根据当前密码进行切换

  1. Set-LocalUser -Name "su" -PasswordNeverExpires:$true
  2. Set-LocalUser -Name "su" -PasswordNeverExpires:$false
  3. net user su /logonpasswordchg:yes
  4. net user su /logonpasswordchg:no

基本上这个脚本是用Intune部署的,创建一个Task Scheduler,它会每天检查一次密码值,如果密码被更改过,密码值改为永不过期,只要密码从未更改过,请在下次登录时将其保留为更改密码。 谁可以帮我这个事 ?抱歉我笨拙的解释

另一种方法是在 Windows 系统上全局更改密码过期设置。 这将适用于所有用户,并且可以在特定用户更改密码之前完成。它可以通过 运行 以下命令完成:

net accounts /maxpwage:0

注意:查看答案的评论部分以深入讨论其他方法