Login Tracker
25 July 2009PHP, MySQL, GPL, VBScript, networkComplete
Login Tracker stores the details of logon and logoff events of users on a network – recording the computer name, username, date/time and user type. Based on the times, it also displays the session length.
Features
- View currently logged-in users
- Find a user by name
- Show login history for a user
- Show occurrences where a user is logged in more than once
- View currently logged-in computers
- Show login history for a computer
- Show current and historic logins for an Active Directory container (OU)
- Statistics (such as: current number of users, total today so far)


Architecture
The logon and logoff VBScripts should be ran at their respective times. They collect the required information and send it in an HTTP request to the server. The server disseminates this data and updates the MySQL database accordingly.
The server-side script, created in PHP and utilising a MySQL back-end for data storage, should be installed on a web server and be accessible by all workstations you want to track.
Known Issues
- The statistics for today’s “Most active user” and “Most active computer” take a long time to process and add an unacceptable delay to loading the front page of the interface. The calls to these methods have been removed until it can be optimised.
- If the logoff script fails to run, the login session will remain in an “open” state. This happens when the logoff script does not run – for example, when a computer is shut down promptly, has its power removed or is reset. The Reset links within the tracker interface can be used to close any obviously-inactive sessions. On the positive side, when the logon script is executed, any open sessions for that workstation are reset.
TODO
- Optimise the Most active user and Most active computer statistics functions
- Move to a web framework to ease future development
- Add more search/filtering options
- Enhance UI