PowerShell脚本计划任务基于设置的密码更改本地用户密码值
我正在编写一个在任务调度器中运行的PowerShell脚本。 我希望它的工作方式是: 默认值设置为在下次登录时强制用户更改密码:PowerShell脚本计划任务基于设置的密码更改本地用户密码值,powershell,scheduled-tasks,change-password,Powershell,Scheduled Tasks,Change Password,我正在编写一个在任务调度器中运行的PowerShell脚本。 我希望它的工作方式是: 默认值设置为在下次登录时强制用户更改密码: net用户su/logonpasswordchg:yes 现在代码应该是这样的: $password=Azerty123! 如果$password与$password不同 将密码从“用户下次登录时必须更改密码”切换到“密码永不过期” 否则请保留值以在下次登录时更改密码 经过多次测试后,我认为需要根据当前密码切换以下2个值 Set LocalUser-Name“su”
net用户su/logonpasswordchg:yes
现在代码应该是这样的:
$password=Azerty123!
如果$password与$password不同
将密码从“用户下次登录时必须更改密码”切换到“密码永不过期”
否则请保留值以在下次登录时更改密码
经过多次测试后,我认为需要根据当前密码切换以下2个值
Set LocalUser-Name“su”-PasswordNeverExpires:$true
Set LocalUser-Name“su”-PasswordNeverExpires:$false
net用户su/logonpasswordchg:yes
net用户su/logonpasswordchg:no
有人能帮我吗?对不起,我的解释很笨拙另一种方法可能是在Windows系统上全局更改密码过期设置。 这将适用于所有用户,并且可以在特定用户更改其密码之前完成。可以通过运行以下命令来完成:
net accounts /maxpwage:0
注意:查看答案的评论部分,深入讨论其他方法您如何知道用户“su”的密码?您是否有其他用户要求密码过期?作为替代方法,您可以使用本地GPO?本地计算机策略–>计算机配置–>Windows设置–>安全设置–>帐户策略–>密码策略将“最大密码期限”设置为“0”。很遗憾,否,最终目标是通过Intune将此脚本部署到Intunewin包中。除非有一种方法可以在Intune中使用您描述的GPO进行类似的操作,否则这可能会起作用,但我在这方面没有发现任何东西。我对Intune没有太多的了解,但似乎您可以在那里进行本地GPO设置:。或者,您可以在1-off脚本
net accounts/maxpwage:0
中调用它。但在我看来,政策方针更为确定opinion@andr3yk谢谢你的回复,它实际上帮助了我很多,我按照你的建议使用了一个网络帐户命令,它完成了任务。你能把它贴出来作为对这个话题的实际回应,这样我就可以把这个问题解决了吗?最好的。