Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am using a .bat file to create a user and password at windows operating system level.

The issue am facing is when i pass EXPIRES:NEVER for password, when the user is created, it doesn't have "Password never expires" checkbox checked (meaning the password never expires is selected for that created user) and the user expires automatically after 90 days.

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

The above is the main line of code, i pass user name and password from a text file and run the .bat file.

share|improve this question

4 Answers 4

up vote 7 down vote accepted

Add this line to the batch file:

WMIC USERACCOUNT WHERE "Name='%1'" SET PasswordExpires=FALSE
share|improve this answer
    
NB: I believe that this will only work with LOCAL accounts, not DOMAIN accounts. But it appears that is what you need... –  Glenn Sullivan Oct 4 '12 at 13:59

The net user command can be used on local as well as domain accounts. Use the /domain switch for domain accounts.

For example, to see the information for domain user %1, use

net user %1 /domain

The full list of net user options is listed here:

http://support.microsoft.com/kb/251394

share|improve this answer

The option /expires is for account, not for password, check the command help.

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

share|improve this answer
    
Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. –  Scott Pack Oct 16 '12 at 2:29

Single AD user

For active directory users, you can use the dsmod command to change it for a single user:

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

Multiple AD users

If you want to bulk set this property, you can do it for an entire organizational unit (OU) by using a the above in combination with dsquery.

First, to list all the users in a OU (this is safe to run, because it only outputs a list of users):

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

Then, assuming you are happy with the output of the above command, you can pipe it to dsmod like so:

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

Some more info, with screenshots, here: http://www.petenetlive.com/KB/Article/0000532.htm

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.