+ Post New Thread
Results 1 to 9 of 9
Network and Classroom Management Thread, Logs to see a workstations use? in Technical; Is there such a piece of software which can tell me how often a machine on a network is logged ...
  1. #1
    robjduk's Avatar
    Join Date
    Jun 2011
    Posts
    466
    Thank Post
    17
    Thanked 68 Times in 53 Posts
    Rep Power
    23

    Logs to see a workstations use?

    Is there such a piece of software which can tell me how often a machine on a network is logged into over a period of time? I know things like impero do it but I just want a stand alone solution which will tell me if my staff are using the stations we spend thousands on because the old ones were "too slow to use".

  2. #2
    ADMaster's Avatar
    Join Date
    May 2012
    Posts
    339
    Thank Post
    5
    Thanked 36 Times in 31 Posts
    Rep Power
    24
    There are a number of logon tracker ideas on here. I use a vbscript that runs a logon and logoff, all it does is write the username, computer name, ip, mac, date and time to log file.

    It’s crude, but gets me the basic info of who logged on last to a machine.

    Here is the EDU logon tracker
    EduGeek Logon Tracker

    Here is an old thread that might help.

    Script to track user logins

  3. #3
    Vee
    Vee is offline

    Join Date
    Jan 2013
    Location
    Western Australia
    Posts
    1
    Thank Post
    0
    Thanked 0 Times in 0 Posts
    Rep Power
    0
    BGInfo can log all sorts to an Access DB silently when run - http://technet.microsoft.com/en-us/s.../bb897557.aspx

  4. #4

    Join Date
    Dec 2009
    Posts
    607
    Thank Post
    8
    Thanked 36 Times in 34 Posts
    Rep Power
    17
    Craig A Rodway

    hes logon tracker is the best i have ever used ! its a simple webpage and mysql database

    and you just run a script for each user at logon and logoff

  5. #5
    chazzy2501's Avatar
    Join Date
    Jan 2008
    Location
    South West
    Posts
    1,801
    Thank Post
    215
    Thanked 265 Times in 215 Posts
    Rep Power
    68
    I'd love a bit of software that showed me a heat map and allowed me to alter the time line.

  6. #6
    AJWhite1970's Avatar
    Join Date
    Sep 2012
    Location
    Wiltshire
    Posts
    341
    Thank Post
    92
    Thanked 77 Times in 59 Posts
    Rep Power
    17
    These two lines in a batch file does the job for me, logs computer usage and keeps an individual user log:-

    echo LOGIN %date%, %time%, %computername%, %username%, >> \\server\Logs\PCs\%computername%.csv
    echo LOGIN %date%, %time%, %computername%, %username%, >> \\server\Logs\Users\%username%.csv

    Andrew

  7. #7


    Join Date
    Mar 2009
    Location
    Leeds
    Posts
    6,688
    Thank Post
    229
    Thanked 869 Times in 747 Posts
    Rep Power
    298
    or even a version that asks users why they are on a pc

    Code:
    Option Explicit
    Dim objFSO, objFolder, objShell, objTextFile, objFile
    Dim strDirectory, strFile, strText
    Dim Message, result
    Dim Title, Text1, Text2, mydatestring, mytimestring, WshNetwork, wshShell, strComputerName
    
    
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    Set wshShell = WScript.CreateObject( "WScript.Shell" )
    
    myDateString = Date()
    mytimestring = Time()
    strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )
    
    strDirectory = "\\servee\share$\folder"
    strFile = "\netbook usage.csv"
    'strText = ""
    
    ' Define dialog box variables.
    Message = "Why are you using this PC/Laptop"           
    Title = "PC Usage Survey"
    Text1 = "User input canceled"
    Text2 = "You entered:" & vbCrLf
    
    ' Ready to use the InputBox function ' InputBox(prompt, title, default, xpos, ypos) ' prompt:    The text shown in the dialog box
    ' title:     The title of the dialog box ' default:   Default value shown in the text box ' xpos/ypos: Upper left position of the dialog box 
    ' If a parameter is omitted, VBScript uses a default value.
    
    result = InputBox(Message, Title, "", 100, 100)
    
    ' Evaluate the user input.
    'If result = "" Then    ' Canceled by the user
    '    WScript.Echo Text1
    'Else 
    '    WScript.Echo Text2 & result
    'End If
    
    'writeout bits
    '
    ' Create the File System Object
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    ' Check that the strDirectory folder exists
    If objFSO.FolderExists(strDirectory) Then
       Set objFolder = objFSO.GetFolder(strDirectory)
    Else
       Set objFolder = objFSO.CreateFolder(strDirectory)
       WScript.Echo "Just created " & strDirectory
    End If
    
    If objFSO.FileExists(strDirectory & strFile) Then
       Set objFolder = objFSO.GetFolder(strDirectory)
    Else
       Set objFile = objFSO.CreateTextFile(strDirectory & strFile)
       Wscript.Echo "Just created " & strDirectory & strFile
    End If 
    
    set objFile = nothing
    set objFolder = nothing
    ' OpenTextFile Method needs a Const value
    ' ForAppending = 8 ForReading = 1, ForWriting = 2
    Const ForAppending = 8
    
    Set objTextFile = objFSO.OpenTextFile _
    (strDirectory & strFile, ForAppending, True)
    
    ' Writes result every time you run this VBScript
    objTextFile.WriteLine("Pcname," & strComputerName & "," & "Username," & WshNetwork.UserName &"," &"Date," & myDateString &"," & "Time," & myTimeString & "," & "Reason," & Result)
    objTextFile.Close

  8. #8


    Join Date
    Mar 2009
    Location
    Leeds
    Posts
    6,688
    Thank Post
    229
    Thanked 869 Times in 747 Posts
    Rep Power
    298
    been having a look at this again and trying to code something that recorded the time difference between logon-off as well as actual time stamps when i found this on my pendrive (no idea if i wrote it / modified it / pinched it from somewhere) but this seems to do a decent job records to a csv on username, {date, time}logon,{date, time}logoff,minutes difference,pc name

    Code:
    option explicit  
    'On Error Resume Next
    
    dim loggedtime, strComputer, objWMIService, colItems, objItem, logon, logoff, strComputerName, wshShell, WshNetwork 
    dim strDirectory, strFile, objFSO, objFile, objfolder, objTextFile
    
    Set wshShell = WScript.CreateObject( "WScript.Shell" )
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Const wbemFlagReturnImmediately = &h10
    Const wbemFlagForwardOnly = &h20
    
    strComputer = "."
    strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )
    strDirectory = "\\server\share$\test scripts\"
    strFile = "userlog.csv"
    
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Caption='explorer.exe'", "WQL", _
        wbemFlagReturnImmediately + wbemFlagForwardOnly)
    dim creationDate
    
    For Each objItem In colItems
        creationDate = WMIDateStringToDate(objItem.CreationDate)
    Next
    
    loggedtime = DateDiff("n", creationDate, Now)
    logon = left(creationdate, 10) & "," & right(creationdate, 8)
    logoff = left(now, 10) & "," & right(now, 8)
    'wscript.echo WshNetwork.UserName & "," & logon & "," & logoff & "," & loggedtime & "," & strComputerName
    
    ' Check that the strDirectory folder exists
    If objFSO.FolderExists(strDirectory) Then
       Set objFolder = objFSO.GetFolder(strDirectory)
    Else
       Set objFolder = objFSO.CreateFolder(strDirectory)
       WScript.Echo "Just created " & strDirectory
    End If
    
    If objFSO.FileExists(strDirectory & strFile) Then
       Set objFolder = objFSO.GetFolder(strDirectory)
    Else
       Set objFile = objFSO.CreateTextFile(strDirectory & strFile)
       'Wscript.Echo "Just created " & strDirectory & strFile
    End If 
    
    set objFile = nothing
    set objFolder = nothing
    ' OpenTextFile Method needs a Const value
    ' ForAppending = 8 ForReading = 1, ForWriting = 2
    Const ForAppending = 8
    
    Set objTextFile = objFSO.OpenTextFile _
    (strDirectory & strFile, ForAppending, True)
    
    ' Writes result every time you run this VBScript
    objTextFile.WriteLine(WshNetwork.UserName & "," & logon & "," & logoff & "," & loggedtime & "," & strComputerName)
    objTextFile.Close
    
    
    Function WMIDateStringToDate(dtmDate)
    
    	WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _
    	Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _
    	& " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))
    End Function

  9. #9
    timbo343's Avatar
    Join Date
    Dec 2005
    Location
    Leeds/York area, North Yorkshire
    Posts
    3,051
    Thank Post
    308
    Thanked 293 Times in 203 Posts
    Rep Power
    120
    You are probably after a free solution, however, i cannot recommend userlock enough. Here is the link UserLock® Access security and concurrent login control for networks. We have used it for nearly 9 years now and its been great, never let us down and just works.

SHARE:
+ Post New Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •