如何通过 .bat 文件通过网络用户创建永不过期的密码和用户

如何通过 .bat 文件通过网络用户创建永不过期的密码和用户

我正在使用.bat file在 Windows 操作系统级别创建用户和密码。

我面临的问题是,当我输入EXPIRES:NEVER密码时,创建用户时,没有"Password never expires"选中复选框(意味着为该创建的用户选择了密码永不过期),并且用户会在 90 天后自动过期。

Net User %1 %2 /COMMENT:"%3" /EXPIRES:NEVER /PASSWORDCHG:NO /ADD

以上是代码的主要行,我从文本文件传递用户名和密码并运行.bat 文件。

答案1

将此行添加到批处理文件中:

WMIC USERACCOUNT WHERE "Name='%1'" SET PasswordExpires=FALSE

答案2

选项/expires是针对账户的,而不是针对密码的,请查看命令帮助。

http://support.microsoft.com/kb/251394/en-us

摘自文档:“如果指定日期,则会导致用户帐户过期。”

答案3

现在我们有了 Powershell,您可以通过以下方式执行此操作:

New-LocalUser "Login" -Password (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -force) -FullName "Name" -Description "Description" –PasswordNeverExpires

或者对于 Active Directory 用户:

New-ADUser -Name "ChewDavid" -OtherAttributes @{'title'="director";'mail'="[email protected]"} -AccountPassword (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -force) -passThru -PasswordNeverExpires:$true

答案4

单个 AD 用户

对于活动目录用户,您可以使用修改为单个用户更改它的命令:

dsmod user "CN=username,OU={User Org Unit},DC... etc" -pwdneverexpires yes

多个 AD 用户

如果要批量设置此属性,可以结合使用上述方法对整个组织单位 (OU) 进行设置查询

首先,列出 OU 中的所有用户(这可以安全运行,因为它只输出用户列表):

dsquery user "OU={your target OU},DC={your domain},DC={your domain extension}"

然后,假设您对上述命令的输出感到满意,您可以像这样将其通过管道传输到 dsmod:

dsquery user "OU={your target OU},DC={your domain},DC={your domain extension}" | dsmod user -pwdneverexpires yes

更多信息(带有屏幕截图)请参见此处:http://www.petenetlive.com/KB/Article/0000532.htm

相关内容