[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 588
  • Last Modified:

Ldap/ADSI|Script/Query to find out last logged on computer

Hi there,
I'm a systems administrator and my company has various sites across UK. Sometimes users have to travel between sites and often save their data on the C drive of the desktop. All sites are under on domain. I'm fairly new to this but is there is a way I can find out what computer a particular user logged on on a particular day. I mean is there any way we can query Active Direcory to find this out. ? I need to know the computer name the user logged on to .

regards,
Gaurang
0
gtrivedi
Asked:
gtrivedi
  • 3
  • 2
  • 2
1 Solution
 
KromptonCommented:
Gaurang,

The user's last logon time can be stored in AD (See an article here: http://www.petri.co.il/view_additional_user_information_in_aduc.htm). I am not a 100% sure but think you can extract the last time a particular machine accessed the networkas well, but I don't believe the the two are connected in any way within AD. Also, only the last log entry is stored unless you have setup Auditing Policies to track it. (IMO) The best way to track what you want is to incorporate you own logging into a logon script. You can control where and what information is tracked. If you would like help putting together a script let me know and I'll see what I can put together for you.

Cheers,
Krompton
0
 
gtrivediAuthor Commented:
Hi Krompton,

Thats what I thought. The login script can come handy. Now where will you put the login script ? (So that I can track which user logged on to which computer)
The idea is that I have the NT username and want to find the last logged on computer. If you can give me a script that would be wonderful.

Gaurang
0
 
KromptonCommented:
Gaurang,

Below is an example. Save it as a .vbs file to your NetLogon directory. I would then assign it as a logon script in a new or existing GPO after testing.

Good Luck,
Krompton


'**********************************
Option Explicit
On Error Resume Next
Dim WshNetwork, WshShell, LogFile, oFS, strCPUName, strUserName, objFileSystem, objOutputFile

Const Read = 1
Const Write = 2
Const Append = 8

Set WshShell = WScript.CreateObject("WScript.Shell")
Set oFS = WScript.CreateObject("Scripting.FileSystemObject")

LogFile = "\\Server\Share\Test.log" 'Input your info


Set WshNetwork = WScript.CreateObject("WScript.Network")
strCPUName = WshNetwork.ComputerName
strUserName = ""
'Make sure username loaded
While strUserName = ""
WScript.Sleep 100
strUserName = WshNetwork.UserName
Wend

'Open your log, enter info and close file
OpenFile LogFile, Write'Append
objOutputFile.WriteLine strUserName & " " & "logged on at: (" & Now & ") from: (" & strCPUName & ")"
objOutputFile.Close

WScript.Quit


'Open a file
Public Function OpenFile(FileToOpen, AccessType)'
      set objFileSystem = CreateObject("Scripting.FileSystemObject")
      set objOutputFile = objFileSystem.OpenTextFile(FileToOpen, AccessType, True)
End Function
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

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

 
haim96Commented:
i would use simpler batch file :

********************
echo ************ >>\\server\share$\log.txt
echo %username% >>\\server\share$\log.txt
echo %computername% >>\\server\share$\log.txt
echo %time% >>\\server\share$\log.txt
echo %date% >>\\server\share$\log.txt
echo ************ >> \\server\share$\log.txt

********************
put the lines in common login script and replace \\server\share$
with your server name and share that you will create (don't forget write access to everyone)
0
 
gtrivediAuthor Commented:
Thanks Krompton and Haim96. Both script works fine. And I can search for the username and and find the computer name used by the user last. Great stuff!
0
 
KromptonCommented:
haim96,

Good Batch file and you can do quite a bit with them. Scripting does have much more versitility though and I encourage anyone to learn a scripting language when they administrate a network (VB, Java, Kix or whatever) but as your example shows you don't want to ignore the batch file either.

Gaurang,

As I mentioned, I highly encourage network admins to learn scripting especially VB when you are running a windows AD network. Haim96 does make a good point though that some things are simpler with batch files; I myself have quite a store of them and have no intention of getting rid of them until they no longer function on the prevailing OS of the time. Of course I've been using them since DOS3.0 days in the 80's so who knows when they'll become obsolete. :) And thanks for the points.

Cheers all,
Krompton
0
 
haim96Commented:
thanks gtrivedi and Krompton   :)
i know how to script VBS and WMI too but if we can keep it simple so whay not ?

cheers
haim
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

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

  • 3
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now