本地用户的 ChangePasswordAtLogon

ChangePasswordAtLogon for LocalUser

我发现此 post 很有帮助。

是否可以使用类似的方式强制用户在下次登录时设置密码?

Set-LocalUser -ChangePasswordAtLogon:$true

我在尝试上述脚本时遇到 NamedParameter 错误。

强制本地用户帐户在登录时重置密码的最佳方法是什么?

Set-LocalUser cmdlet 没有参数 ChangePasswordAtLogon

尝试

Set-LocalUser -Name "TheUser" -PasswordNeverExpires $false

或使用

$user = [ADSI]"WinNT://$env:ComputerName/TheUserName,user"
$user.PasswordExpired = 1
$user.SetInfo()

从外观上看,Set-LocalUser 没有强制更改密码,您引用的 post 是针对 ActiveDirectory 用户的。查看 at this SuperUser post,有一个使用 net user 和 wmic 的解决方法,您可以在 PowerShell 中编写代码来模拟它:

Here's what I found worked for me on Windows 10 Home.

wmic UserAccount where name='John Doe' set Passwordexpires=true

Followed by

net user "John Doe" /logonpasswordchg:yes