Audito how long applications are used

Hi experts,

I need to verify our users are using their PCs for job activities at most time. I'd like to know if there's a kind of spy or utility application that can show us a report as simple as this:

PC:  user01
Date: 10/10/2004

Logged User: richard
Loggin at: 08:30am
Log of at: 06:30pm

MS-Word: 4.5 hours
MS-Excel: 1.2 hours
Messenger: 0.5 hours
Internet Explorer: 1 hour

This hours should be the time the user is working in the application. He could have all the applications opened but we need the net time the user is using the applications.  So we'll be able to talk to the users that use internet too much. We don't want to restrict Internet, Messenger access because they're important tools in our job. An we think users could need to use internet for personal activities but this must be a short time usage.

Carlos V.
Who is Participating?
LongbowConnect With a Mentor Commented:
I would work on a script to do this job but it will take a long time.

If a window is opened one hour but used 5 minutes...
What will be the statistics ?
A good software need to check for activity in the program.

You can first check the following links :

Small answer. no there isn't. And even if there was a program like that, first of i wouldn't buy it, but boycot it. This is invading someone privacy a little bit to much, hence the fact that there aren't any of these programs..

Only thing you can do is auditing. You can audit logintimes and logout times. And you can audit file access times. Do make sure, if you audit all these things, that the security log will fill up within one day or you would need to create a gig on space... And still, you would olny see when they opened/accessed the fil, not how long they worked in it..
Thanks for your comments,

If it's not possible to have a perfect statistic, I'd like to monitor only the time the app has focus. I can assume that the user is using the app the time it has the focus..

Carlos V.
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

I can perhaps do something but i am to busy at this time.

It works only for a given application at a time and just take the time after tha application is closed.
It is not calculated.

Set WSHShell = WScript.CreateObject("WScript.Shell")

Set WshNetwork = WScript.CreateObject("WScript.Network")
Info = "Domain = " & WshNetwork.UserDomain & VbCrLf
Info = Info & "Computer Name = " & WshNetwork.ComputerName & VbCrLf
Info = Info & "User Name = " & WshNetwork.UserName & VbCrLf
call DateDemo(a)
Return = WshShell.Run ("notepad.exe",1 ,true)
call DateDemo(b)
WScript.Echo Info & VbCrLf & a & VbCrLf & b

sub DateDemo(s)
   s = "Today's date is: " & Now
   'return (s)
End sub
well, with your comments I know I'll have to use another way to control user's activities. Spy softwares are expensive and use a lot of resources. Thanks longbow, I have good references from you.

Carlos V.
Maybe you don't know the power of scripting...
I already have a script wich can count the time a window has the focus and display it on the screen.
Longbow, but in your sample you launch the application.. in real life users will open applications as they need and will have multiple applications opened. How the script will be able to know when the event "OnFocus" of each app triggers?

Carlos V.
The above script is the simplest way.
Forget it. You can script the same with a batch file.

Scripts can use APIs to do the job.
Give me a chance.
Not sure if the script can check for all the applications you need to spy or only for one. Then i need a script by software to spy.
I will see.

Since this thread is closed maybe you need to open a new one.
ok Longbow, I'm very interested about this script, I'll add a new question...
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.