Powershell 本地用户的ChangePasswordAtLogon

Powershell 本地用户的ChangePasswordAtLogon,powershell,local,Powershell,Local,我觉得这篇文章很有帮助 是否可以使用类似的方法强制用户在下次登录时设置密码 Set-LocalUser -ChangePasswordAtLogon:$true 尝试上面的脚本时,我遇到一个NamedParameter错误 强制本地用户帐户在登录时重置密码的最佳方法是什么?cmdlet没有参数ChangePasswordAtLogon 试一试 或使用 $user = [ADSI]"WinNT://$env:ComputerName/TheUserName,user" $us

我觉得这篇文章很有帮助

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

Set-LocalUser -ChangePasswordAtLogon:$true
尝试上面的脚本时,我遇到一个NamedParameter错误

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

cmdlet没有参数
ChangePasswordAtLogon

试一试

或使用

$user = [ADSI]"WinNT://$env:ComputerName/TheUserName,user"
$user.PasswordExpired = 1
$user.SetInfo()
cmdlet没有参数
ChangePasswordAtLogon

试一试

或使用

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

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

以下是我在Windows10 Home上发现的对我有用的东西

wmic UserAccount,其中name='John Doe'设置Passwordexpires=true

net用户“John Doe”/logonpasswordchg:yes


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

以下是我在Windows10 Home上发现的对我有用的东西

wmic UserAccount,其中name='John Doe'设置Passwordexpires=true

net用户“John Doe”/logonpasswordchg:yes


做得好。我还没有找到这个信息,正在努力搜索。谢谢你的信息。第一个剧本成功了。我还没有尝试第二种方法。有没有办法自动填充ComputerName和UserName值?@craptypriate对于用户名,您当然可以使用变量或循环浏览用户名列表。至于计算机名。。这是关于本地用户的,因此如果要在远程计算机上使用
Set LocalUser
,则必须将其包装在脚本块中运行,并使用带有
ComputerName
参数的
Invoke Command
执行。这就是你的意思吗?谢谢你,西奥。我试试看!那真的很有帮助。干得好。我还没有找到这个信息,正在努力搜索。谢谢你的信息。第一个剧本成功了。我还没有尝试第二种方法。有没有办法自动填充ComputerName和UserName值?@craptypriate对于用户名,您当然可以使用变量或循环浏览用户名列表。至于计算机名。。这是关于本地用户的,因此如果要在远程计算机上使用
Set LocalUser
,则必须将其包装在脚本块中运行,并使用带有
ComputerName
参数的
Invoke Command
执行。这就是你的意思吗?谢谢你,西奥。我试试看!那真的很有帮助。谢谢你!我试试看,谢谢!我试试看。