简单的解决方案是创建一个发出以下命令的批处理文件:
net accounts /maxpwage:unlimited
但是,这会将本地计算机上所有帐户的最长密码期限设置为无限制,而不仅仅是您创建的新帐户.
如果您需要更精细的控制级别(即,为各个用户设置密码到期值的能力),您将需要更复杂的东西. VBScript的Scripting Guys share an example将修改本地用户帐户,以使其密码永不过期:
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
strDomainOrWorkgroup = "Fabrikam"
strComputer = "atl-win2k-01"
strUser = "KenMeyer"
Set objUser = GetObject("WinNT://" & strDomainOrWorkgroup & "/" & _
strComputer & "/" & strUser & ",User")
objUserFlags = objUser.Get("UserFlags")
objPasswordExpirationFlag = objUserFlags OR ADS_UF_DONT_EXPIRE_PASSWD
objUser.Put "userFlags",objPasswordExpirationFlag
objUser.SetInfo
可以很容易地将其修改为适合您选择的任何用户,甚至可以创建新用户.
最后,here’s an example in C#,您应该能够移植到PowerShell.我不是PS专家,但考虑到它使用.NET Framework,上面的代码应该给你一些想法.