The user accounts you see in the examples are my four kids (aka "tax breaks", "forced labor", "indentured servants"). Whom I built this for making it possible for my wife to be able to jerk their chain when they disobey her commands, leaving me free to focus on my day job (and keeping my cell phone quieter).
More screen shots of the app "in action"...
- A Windows Server Active Directory environment. No, I won't help you get this working on a Samba 4 environment, sorry.
- A web server. An IIS6 or IIS7 intranet server within the domain, configured to run classic ASP (I don't have time to do it in ASP.NET or PHP right now).
- A service account added to the "Domain Admins" group, which has been granted GPO "Logon as a service" rights (minimum. you can bolt the security down as tight as you need)
- Any ODBC capable database kind of thing. I used MS-SQL 2005 for the grand-daddy, but almost anything will do (Oracle, MySQL, SQL Express, Access, etc)
- A script. This script will open the database, fetch rows where "status=0" (not yet processed) and execute the action requested, then stamp the process date on the row and mark it completed (status=1).
- A Scheduled Task. You can use pretty much anything, but it needs to execute the script under the domain services account you created. It doesn't matter whether you prefer Windows Task Scheduler or CronNT or or what have you. I personally LOVE the Task Scheduler in Windows Server 2008. It really rocks.
Below is a view of the database schema. The fields are pretty basic. For a real database schema just use INT for the ID and STATUS fields, SmallDateTime for the DATE fields, and VARCHAR for the string fields.
Next comes the web folder, code files and image files (optional eye candy)...
As for the web site and script code files, you can download them from links below. Be aware that you will need to open and edit the top-most portion of the "config.asp", as well as the "adwa.vbs" script file in order for them to work properly in your environment. Read the included readme.txt files for disclaimers and the usual legal mumbo-jumbo.