Download v2.20.9 here at github.
This release addresses Issue #20. It also fixes a bug that prevented ADPassMon from being added to the Accessibility security list in El Capitan (OS 10.11).
While starting, ADPassMon now checks whether the current user account is local. If it is local, by default it will halt all further processes, but will otherwise stay loaded (using minimal resources). This is by design since some environments launch ADPassMon via a KeepAlive LaunchAgent which would just keep launching it if it were to quit.
You may wish to override this default behavior for a local account — for example, if you have a local account on a bound computer with the same name as your AD account and you want to see your password expiration info. To do this, set the
runIfLocal property to true to tell ADPassMon to run normally:
defaults write org.pmbuko.ADPassMon runIfLocal -bool true
Download the latest release on GitHub.
This version introduces a user-configurable check interval. You can adjust the check interval anywhere from 1 to 24 hours.
ADPassMon is designed to poll AD for password expiration info immediately upon launch, 15 seconds after the computer wakes from sleep, and/or every x hours as determined by the check interval. Blog commenter Andy May let me know that the automatic expiration check was not working properly. This release fixes that bug.
This pre-release contains a few significant changes, so I need your help testing it to make sure I haven’t inadvertently broken anything…
I have significantly changed how ADPassMon gets password expiration values. With Windows Server 2008, MS introduced Fine Grained Password Policy, which could potentially make it difficult to determine the expiration date of passwords, so the exact date of account password expirations is computed and stored in a property called
msDS-UserPasswordExpiryTimeComputed that you can retrieve in OS X with a simple dscl lookup. Since this may not work in all environments, ADPassMon will fall back to the old method of looking up the information if the new method fails. Manual mode, where you enter the password expiration days, is still an option.
I’ve also added a connectivity check that will disable the Change Password and Refresh Kerberos Ticket menu items if the domain cannot be reached.
Lastly, in addition to a few cosmetic changes, I have added a note to the preferences dialog box that instructs you to hit the Enter key if you change any of the text field values.
Download the pre-release here, and please let me know how this version works for you by either commenting here or at github.
UPDATE: Link now points to the b2 release which adds a 15-second delay upon computer wake before ADPassMon runs its checks.
- ADPassMon now requires OS X 10.8. (ADPassMon v1.9 is still available for 10.6 and 10.7)
- It now detects if a password is set to never expire and halts further checking. The menu will display ‘[–]‘ in this case. (Thanks to Luis Giraldo for pointing out this oversight on GitHub.)
- Some log entries were removed and others were slightly modified
- Replaced “Quit ADPassMon” in menu with “Exit”
Download version 1.9.8 here.
This version fixes a bug that caused ADPassMon to fail when a Mac’s language settings use a decimal separator other than a period. Thank you to Adrian Milz of Germany for pointing it out to me.
I have also decided to distribute the application with a simple zip archive rather than a dmg from now on.
Download version 1.9.7 here.
A little over a month ago, a fellow from the UK contacted me about adding a few features to ADPassMon. We sent a some emails back and forth and he decided to fork my ADPassMon github repo and take a stab at modifying my code himself. He has just released his project as ADPassMon v2. I gave him a few pointers along the way, but all new features that differentiate it from my project are entirely his own work. I’m frankly impressed with how quickly he was able to wrap his head around AppleScript ObjC and achieve his feature goals.
If you are a current ADPassMon user, I encourage you to take a look at his detailed write-up and see if his fork will fit your environment better.