Getting Usage Statistics about Workstations
Novell Cool Solutions: Trench
Digg This -
Posted: 29 Aug 2003
We recently posted this OPEN CALL in the Q&A.
Question: We're really like to use ZfD4 for "Usage Statistics" to bill our internal customers. We need to find out which users use which workstations so we can bill the hardware to the user's department (each user has an eDir attribute for his department).
We'd love to get history for each workstation that shows which users were logged in over the last few weeks, with their login times and duration. From this information we could run a report to determine the primary user(s) of the workstation and bill the user's department accordingly.
We haven't been able to figure out how to get that information from an out-of-the-box ZfD4 installation with workstation registration and workstation inventory. Do you know a creative way of getting such information or do you know a 3rd-party product that can do this?
OPEN CALL: There is no part of ZfD which does this out of the box. One idea would be to use eDirectory auditing and audit on logon and logoff events. Perhaps one of our cool readers out there has the answer. Anyone? Anyone?
We use JRB Utilities to get usage information for workstations. Unfortunately, NDS/eDir does not keep a history of the length of time a user is logged into a workstation. It only tracks when a user logs into a workstation that I am aware of.
Once JRB is installed, follow these steps:
- In the command prompt, browse to the directory where JRB32 is installed.
- Change your context to the container of the workstation object(s) you want to check. To do this, type cx <context>
- List all the workstations for that container. Type wgrplist
- Find the workstation you want to report Usage History on and write
the information out to a log file (this will write out each user that
logged in and the timestamp for when they logged in).
Type wgrplist /u <workstation name> /a /b /l=<filename and location of log file>
Example: wgrplist /u Workstation01* /a /b /l=c:\Workstation01.log
Wildcards are allowed in the workstation name such as workstation01*
- /a specifies the User History of each workstation
- /b specifies the Timestamp of when they logged in
- /l specifies to write out to a log
- /u specifies a single workstation object to report on
If you want to report on all workstations (this could take a while) type wgrplist /a /b /l=<log filename and location>
Hope this helps. I am working on developing a ConsoleOne Snapin or schema modification to show this in the Workstation Object Properties. I'm doing this in whatever spare time I have, so it won't be done soon.
Noah is a member of the School Cool Solutions Advisory Board, where you can frequently see him answering questions in the forums. If you have any questions you may contact him at Noah.A.Broadwater@Hofstra.edu
This might work. You can try using two batch files/scripts that write to a log file (could be in local workstation, or in a central location). These will be run from two Scheduled Events in User Policy. One runs on login, the other one runs on logout. In the log file you can record the username, date/time, computername, etc.
We use a similar technique here to audit ZENworks coverage on our network of 3000 PCs, as a quick and dirty solution while we have not implemented ZENworks Inventory yet! In our case, we use AutoIT (www.hiddensoft.com/autoit) to do the scripting.
Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com