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个值需要根据当前密码进行切换
Set-LocalUser -Name "su" -PasswordNeverExpires:$true
Set-LocalUser -Name "su" -PasswordNeverExpires:$false
net user su /logonpasswordchg:yes
net user su /logonpasswordchg:no
基本上这个脚本是用Intune部署的,创建一个Task Scheduler,它会每天检查一次密码值,如果密码被更改过,密码值改为永不过期,只要密码从未更改过,请在下次登录时将其保留为更改密码。
谁可以帮我这个事 ?抱歉我笨拙的解释
另一种方法是在 Windows 系统上全局更改密码过期设置。
这将适用于所有用户,并且可以在特定用户更改密码之前完成。它可以通过 运行 以下命令完成:
net accounts /maxpwage:0
注意:查看答案的评论部分以深入讨论其他方法
我正在编写一个 PowerShell 脚本,该脚本会 运行 在任务计划程序中。 我希望它的工作方式是:
默认值设置为强制用户在下次登录时更改密码:
net user su /logonpasswordchg:yes
现在代码应该是这样的:
$password = Azerty123! 如果 $password 不同于 $password 将密码从“用户必须在下次登录时更改密码”更改为“密码永不过期” 否则保留值以在下次登录时更改密码
经过多次测试,我认为以下2个值需要根据当前密码进行切换
Set-LocalUser -Name "su" -PasswordNeverExpires:$true
Set-LocalUser -Name "su" -PasswordNeverExpires:$false
net user su /logonpasswordchg:yes
net user su /logonpasswordchg:no
基本上这个脚本是用Intune部署的,创建一个Task Scheduler,它会每天检查一次密码值,如果密码被更改过,密码值改为永不过期,只要密码从未更改过,请在下次登录时将其保留为更改密码。 谁可以帮我这个事 ?抱歉我笨拙的解释
另一种方法是在 Windows 系统上全局更改密码过期设置。 这将适用于所有用户,并且可以在特定用户更改密码之前完成。它可以通过 运行 以下命令完成:
net accounts /maxpwage:0
注意:查看答案的评论部分以深入讨论其他方法