Простым решением является создание командного файла, который выполняет следующую команду:
net accounts /maxpwage:unlimited
Однако при этом максимальный срок действия пароля для всех учетных записей на локальном компьютере устанавливается равнымнеограниченно, а не только новые учетные записи, которые вы создали.
Если вам нужен более точный уровень контроля (т. е. возможность устанавливать значения срока действия пароля для отдельных пользователей), вам понадобится что-тонемного сложнее.Сценаристы делятся примером VBScript, который изменит учетную запись локального пользователя, так что его пароль никогда не истечет:
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
Было бы легко изменить это, чтобы работать для любого пользователяпо вашему выбору или даже для создания нового пользователя.
Наконец, приведен пример на C # , который вы должны иметь возможность портировать на PowerShell,Я не большой специалист по PS, но, учитывая, что он использует .NET Framework, приведенный выше код должен дать вам некоторые идеи.