Correct never expires is part of the userAccountControl bitflags attribute.
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Roger Seielstad Sent: Friday, October 03, 2003 10:41 AM To: '[EMAIL PROTECTED]' Not really. If I remember the schema correctly, it is simply a flag as to whether or not the password has expired. The "never expires" attribute is part of a separate bit flag field, I believe. -------------------------------------------------------------- Roger D. Seielstad - MTS MCSE MS-MVP Sr. Systems Administrator Inovis Inc. > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] > Sent: Friday, October 03, 2003 10:21 AM > To: [EMAIL PROTECTED] > Subject: RE: [ActiveDir] Password Policy - Challenge.... > > > Does the -1 setting tell the system it "never expires"? > > -----Original Message----- > From: Joe [mailto:[EMAIL PROTECTED] > Sent: Friday, October 03, 2003 4:24 AM > To: [EMAIL PROTECTED] > Subject: RE: [ActiveDir] Password Policy - Challenge.... > > > See I knew the word challenge in the subject would bring you guys > out... In > fact Challenge is the alternate spelling for MVP... :op > Speaking of which, > did you notice that the AD list has doubled? > > Correct, setting pwdLastSet to 0 will cause it to flag as expired > (user must change password on next logon). If you clear that flag due > to the implementation of NOT keeping this info in userAccountControl > but instead in the attribute that specifies password age will cause > that password age to have to become something valid and since it can't > be set back to what it was previously (no history), the logical thing > is to put it to 0 days old. > > Keep in mind that that attribute can be set to two things by a > programmer without hacking LSASS... 0 or -1. 0 as Tony points out will > force the user to be expired right now. So what do you think setting > it to > -1 would do? > > Here let me illustrate: > > File: Test.vbs > ---------------- > set o=getobject("LDAP://cn=joe,cn=users,dc=joehome,dc=com") > o.pwdlastset=0 > o.setinfo > o.pwdlastset=-1 > o.setinfo > > > Screen Cap of Run > ------------------- > G:\temp>getuserinfo joehome\joe > > GetUserInfo V02.07.00cpp Joe Richards ([EMAIL PROTECTED]) September 2003 > > User information for joehome\joe (\\W2KASDC1) > > User Name joe > Full Name > Description > User's Comment > User Type User > Enhanced Authority AccOp > Account Type Global > Workstations > > Home Directory > User Profile > Logon Script > Flags > Account Expires Never > > Password age in days 40 > Password last set 8/23/2003 9:37 AM > Bad PWD count 0 > > Num logons (this machine) 24 > Last logon 12/21/2002 9:42 AM > Logon hours All > > > Global group memberships *Domain Users > Local group memberships *Account Operators *Users > > > Completed. > > G:\temp>test > Microsoft (R) Windows Script Host Version 5.6 Copyright (C) Microsoft > Corporation 1996-2001. All rights reserved. > > > G:\temp>getuserinfo joehome\joe > > GetUserInfo V02.07.00cpp Joe Richards ([EMAIL PROTECTED]) September 2003 > > User information for joehome\joe (\\W2KASDC1) > > User Name joe > Full Name > Description > User's Comment > User Type User > Enhanced Authority AccOp > Account Type Global > Workstations > > Home Directory > User Profile > Logon Script > Flags > Account Expires Never > > Password age in days 0 > Password last set 10/3/2003 7:03 AM > Bad PWD count 0 > > Num logons (this machine) 24 > Last logon 12/21/2002 9:42 AM > Logon hours All > > > Global group memberships *Domain Users > Local group memberships *Account Operators *Users > > > Completed. > > G:\temp> > > > > If you REM out the setting to -1 second piece, this is the account > status: > > G:\temp>getuserinfo joehome\joe > > GetUserInfo V02.07.00cpp Joe Richards ([EMAIL PROTECTED]) September 2003 > > User information for joehome\joe (\\W2KASDC1) > > User Name joe > Full Name > Description > User's Comment > User Type User > Enhanced Authority AccOp > Account Type Global > Workstations > > Home Directory > User Profile > Logon Script > Flags EXPIRED > Account Expires Never > > Password age in days 0 > Password last set 10/3/2003 7:11 AM > Bad PWD count 0 > > Num logons (this machine) 24 > Last logon 12/21/2002 9:42 AM > Logon hours All > > > Global group memberships *Domain Users > Local group memberships *Account Operators *Users > > > Completed. > > G:\temp> > > > > So the answer to #3 below is to take the above small code snippet and > wrap it with a loop to go through all users you need cleared. > > Now that I have said this, it is for edumacational purposes only. I DO > NOT recommend this as it is bypassing security and logically you do > not want to bypass security because there is a reason you have a > password policy. That reason being if someone is trying to hack you by > brute force it takes X days to get through a password of Y complexity > that you have created. Your password policy is supposed to determine a > safe value for X for the Y that you use. By passing the policy with > either non-expiring accounts or this (dare I say chicken clever :o) > hack is not only bad, it is overall stupid to do. That being said I > would really hope people just keep this in their noodle for the holy > shit what am I going to do occurrances they have to handle and not > make this some regular thing that they do. I also think you shouldn't > use non-expiring ID's ever either but until MS and other vendors step > up to handling services properly, I think we will have a hard time > getting away from those. > > > > So, was this an assist or was this a goal? Or possibly was this a > major penalty? > > > So I wonder if this will be plugged now? And if so how? I can't think > of a logical way to do it without maintaining a change log or history > so the old value can be ascertained and reverted to. Otherwise the > accidental checks in the gui will screw someone. > > > joe > > > > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Tony Murray > Sent: Friday, October 03, 2003 4:44 AM > To: [EMAIL PROTECTED] > > Deano (and others) > > >From what I can see, setting the value of pwdLastSet to 0 has the > >effect of > setting the "User must change password at next logon" flag. > In other words > I think the user would be prompted to change their password at next > logon. > > One thing I've noticed is that if you check the "User must change > password at next logon" flag using dsa.msc and then subsequently > uncheck it, it has the effect of assigning a new pwdLastSet value. > This would meet Travis's requirements, but would be very slow for a > large number of users. > > Another way of doing this would be to set the value of pwdLastSet > programatically, but as this involves working with large integers > (which scare me for some reason), it may not be easy. > > A different option which would work for a large number of users would > be to toggle the flag using "dsmod user" with the "-mustchpwd {yes > | no}" option. > You would need to first set the flag using "yes" and then unset it > using "no". If I have some time I'll test this and post the results. > > Tony > ---------- Original Message ---------------------------------- > From: "Dean Wells" <[EMAIL PROTECTED]> > Reply-To: [EMAIL PROTECTED] > Date: Thu, 2 Oct 2003 22:24:30 -0700 > > Assign the pwdLastSet attribute a value of 0 per necessary user. At > next logon, user's password will remain intact and pwdLastSet will be > assigned current date and time (represented in FileTime) by the > authenticating DC effectively setting user's next password expiry date > to (now > + password > expiry policy days). > > -- > Dean Wells > MSEtechnology > * Tel: +1 (954) 501-4307 > * Email: [EMAIL PROTECTED] > http://msetechnology.com > > > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Behalf Of Joe > Sent: Thursday, October 02, 2003 6:30 PM > To: [EMAIL PROTECTED] > Subject: RE: [ActiveDir] Password Policy - Challenge.... > > > Yep passwords would expire. The policy is on the domain and it is a > delta value that is stored in the domain partition that handles this. > It causes the system to go back that delta value and then any accounts > that haven't been changed since that calculated time are expired. > > Also this has to be done on the domain policy. > > You have a couple of options. > > 1. Send a note to everyone and tell them to change their password. > > 2. Expire portions of the id's each day until you have gotten through > all of them. Then once all done, sey up the domain policy. See my > expire tool on www.joeware.net site as that tool was specifically > written for this scenario. > > 3. Get the passwords time reset. Todd's idea below will work but could > take a while if you have decent passwords and really isn't the elegant > way to do this. > > Instead you can reset the password timestamp on the user accounts so > that they are all started out as if they had just been changed but > really haven't and then turn on your policy.... > > Now I was going to post the way to do this, but thought, you know, > let's test the group and see who else knows this little trick..... > I will post an > answer within a day or if you need it quicker email me at > [EMAIL PROTECTED] and I will send a little script to pull it off. > > joe > > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Myrick, Todd > (NIH/CIT) > Sent: Thursday, October 02, 2003 3:44 PM > To: '[EMAIL PROTECTED]' > > You are correct, your company passwords would expire. > > The solution I suggest is to crack all the passwords, then reset the > original password to each account to reset expiration. Then implement > the Domain Account policy again. Also remember that NTLM and Kerberos > authentications count double. So if you client has problems with > authentication it will try Kerberos then NTLM and a single bad logon > counts twice. So 10 bad password attempt really means 5 within the > limited time frame you set. > > Todd > > -----Original Message----- > From: Travis Riddle [mailto:[EMAIL PROTECTED] > Sent: Thursday, October 02, 2003 3:09 PM > To: [EMAIL PROTECTED] > Subject: [ActiveDir] Password Policy > > > I made a slight error when creating a group policy, and now need some > advice on how to fix it. Hopefully some one will be kind enough to > help out. I have a single domain with 2 sites. I created a Default > Policy for the entire domain with fairly minimal settings (such as > password policy, proxy settings and a few IE settings). Our > manufacturing facility is our largest site, and our corporate offices > is significantly smaller, so instead of applying one policy several > times I set block policy inheritance for the corporate OU (so they > wouldn't get the Proxy and IE settings). I then set password settings > on the separate corporate OU. Well, I guess I didn't realize at the > time that you could only have one password policy for the domain, so > basically they haven't had to change their passwords for some time > now. > > So here is the problem, I need to enable the password policy for > corporate, but if I do I think it will immediately expire their > passwords (since they are well over 90 days old). Is my thinking > wrong here, and is there a way around this or am I going to have to > call the corporate guys and have them manually change their passwords? > Any ideas? > > Your suggestions are much appreciated, > > Thanks, > > Travis > List info : http://www.activedir.org/mail_list.htm > List FAQ : http://www.activedir.org/list_faq.htm > List archive: > http://www.mail-archive.com/activedir%> 40mail.activedir.org/ > > List info : > http://www.activedir.org/mail_list.htm > List FAQ : http://www.activedir.org/list_faq.htm > List archive: > http://www.mail-archive.com/activedir%> 40mail.activedir.org/ > > > List info : > http://www.activedir.org/mail_list.htm > List FAQ : http://www.activedir.org/list_faq.htm > List archive: > http://www.mail-archive.com/activedir%> 40mail.activedir.org/ > > > > > List info : > http://www.activedir.org/mail_list.htm > List FAQ : http://www.activedir.org/list_faq.htm > List archive: > http://www.mail-archive.com/activedir%> 40mail.activedir.org/ > > > List info : > http://www.activedir.org/mail_list.htm > List FAQ : http://www.activedir.org/list_faq.htm > List archive: > http://www.mail-archive.com/activedir%> 40mail.activedir.org/ > > > List info : > http://www.activedir.org/mail_list.htm > List FAQ : http://www.activedir.org/list_faq.htm > List archive: > http://www.mail-archive.com/activedir%> 40mail.activedir.org/ > > List info : > http://www.activedir.org/mail_list.htm > List FAQ : http://www.activedir.org/list_faq.htm > List archive: > http://www.mail-archive.com/activedir%> 40mail.activedir.org/ > List info : http://www.activedir.org/mail_list.htm List FAQ : http://www.activedir.org/list_faq.htm List archive: http://www.mail-archive.com/activedir%40mail.activedir.org/ List info : http://www.activedir.org/mail_list.htm List FAQ : http://www.activedir.org/list_faq.htm List archive: http://www.mail-archive.com/activedir%40mail.activedir.org/
