Avatar of venmarces
venmarces
Flag for Canada asked on

Get Actual logon user, PC-Name and IP Address within Active Directory Script in Windows 2003

Hi

I want to get a script that allow me to get an upadted list when required. This list should contain the :
- Actual User login in this computer
- Last date login
- Computer Name
- the IP address.

Is there any script already existing for this and if yes then how I can use it

Thanks for help
Active DirectoryWindows Server 2003VB ScriptMicrosoft Server OS

Avatar of undefined
Last Comment
venmarces

8/22/2022 - Mon
Justin Owens

You really need to include a little more info than that... For example, do you want to poll one computer, a list of computers, or all computers in your directory?  Do you want to poll by OS type (workstation verses server)?  How do you want to handle computers that are not on when the polling is done?
venmarces

ASKER

I want to poll all computers in my Directory of course ordered by Computer Name

Computers that are not on when the polling is done should appear in the list with a maximum of information at least computer name

Thanks  
Justin Owens

So, you need a script which will query AD for all ObjectType=Computer, make a list, check DNS to resolve IP, then query each computer to get current logged in user and when they logged in and then dump that unto a 4 column CSV file?  What do you want to do it there is no user logged into the computer?
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck
Swapnil Prajapati

You can use BGInfo Tool from Microsoft to fulfill your requirement

http://technet.microsoft.com/en-us/sysinternals/bb897557.aspx
Once the user is logged in into system you can put BGinfo in Login script and you can export details to CSV file.
Justin Owens

swap,

That is an option, however it would mean that the "script" runs at logon, which may be a network burden for the Author or may not fulfill his needs.  My assumption is that when the Author says, "when required", it isn't a constant need.  Please correct this assumption if wrong.  Also, is there a language preference for the script?

Justin


venmarces

ASKER

Ok, can I get real-time updates on this file ..... otherwise is there any application other then this that can show me in real-time what is the three information PC-Name, IP, UserName

 
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
venmarces

ASKER
Yes I am ok for an english script language no problem for me

I would like to get something on the server side only without any logon script adds for end users
Justin Owens

Sorry... by language, I meant something more along the lines of VBScript, PowerShell, etc....
venmarces

ASKER
VBScript
Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn't do my job half as well as I do without it!
James Murphy
venmarces

ASKER
Any response
Justin Owens

That is beyond my ability.  May I suggest you add this Question to the VBScript Zone?  You can have it in up to three Zones and you are only currently in two.
venmarces

ASKER
thats what I did but no response as well
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
Justin Owens

I requested a Moderator add it to the VBScript zone, as it is currently not in there....
Steve Knight

Just a thought here but what I do for a couple of sites is build a log by user and pc of who logs in and when.  Effectively along these lines:

In a shared directory with write access for all you have

\\server\share$\user\login
\\server\share$\user\logout
\\server\share$\pc
\\server\share$\lastuser

In the logon, logoff scripts for the user and computer OU's you add a couple of lines to the logon script which appends a line to the log.  Then you can just read the last line from the log for a user or pc....

echo %date%,%time%,%computername%, %username%,%ipaddress% >>\\server\share$\user\login\%username%.txt
echo %date%,%time%,%computername%, %username%,%ipaddress% >>\\server\share$\user\login\%computername%.txt

To get the IP address you can parse the ipconfig output like this:

http://scripts.dragon-it.co.uk/links/batch-get-tcpip-subnet

so you end up with something like this along with your current scripts:

@echo off
for /f "tokens=2 delims=:" %%a in ('ipconfig ^|find "IP Address"') do call :process %%a & goto :next
:next
echo You are on subnet %subnet% with address %ipaddress%
echo %date%,%time%,%computername%,%username%,%ipaddress% >>\\server\share$\user\login\%username%.txt
echo %date%,%time%,%computername%,%username%,%ipaddress% >>\\server\share$\pc\%computername%.txt
echo %date%,%time%,%computername%,%username%,%ipaddress% >\\server\share$\lastuser\%computername%.txt

exit /b

:process
  for /f "tokens=1-4 delims=." %%a in ("%1") do (set subnet=%%a.%%b.%%c)&(set host=%%d)&(set network=%%c)
  set ipaddress=%subnet%.%host%
exit /b

Whether that sort of thing is an option is down to your environment and choice but is a useful little record of who logs in where and when and the last entry for each is easily parsed.

Then all you need to do to get the list of all computers and their last user is do:

type \\server\share$\lastuser\*.txt > allcomputers.csv
start excel allcomputers.csv

venmarces

ASKER
thank you for this script ... I will try it and let you know about it
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23
Justin Owens

venmarces,

Remember that is not a VBScript.  It is a Batch script.
venmarces

ASKER
Can you rebuild it for one file and indicate me where I have to insert my parameteres

Thanks again
ASKER CERTIFIED SOLUTION
Steve Knight

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
venmarces

ASKER
Good
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.