Solved

Audit all domain computers for browser version

Posted on 2011-09-27
6
1,773 Views
Last Modified: 2012-06-22
Hi,

I need to check all of the computers in our domain and create a report that lists each workstation and the version of internet explorer they have installed on them (or if they have a different web browser installed).  This should be relatively straightforward but I have been searching the internet for days and I can't find any way to achieve this.

NB: All workstations running Windows XP - domain is W2K3 with approx. 200 computers.

Please help - this is urgent!

Richard Powell
0
Comment
Question by:richardstuartpowell
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
6 Comments
 
LVL 65

Expert Comment

by:RobSampson
ID: 36708435
Hi Richard,

As far as getting the version of IE goes, this should do it.  As for determining other browsers, that's more difficult because there's so many.....

Regards,

Rob.
Set objFSO = CreateObject("Scripting.FileSystemObject")
Const intForReading = 1
strComputersFile = "computers.txt"
strOutputFile = "FileVersionLog.txt"
strFileToFind = "C:\Program Files\Internet Explorer\iexplore.exe"
Set objComputers = objFSO.OpenTextFile(strComputersFile, intForReading, False)
Set objLogFile = objFSO.CreateTextFile(strOutputFile, True)
objLogFile.WriteLine "Script run at " & Now & VbCrLf
While Not objComputers.AtEndOfStream
	strComputer = objComputers.ReadLine
	strVersion = ""
	If Ping(strComputer) = True Then
		strUNCFile = "\\" & strComputer & "\" & Replace(strFileToFind, ":", "$")
		If objFSO.FileExists(strUNCFile) = True Then
			strVersion = objFSO.GetFileVersion(strUNCFile)
			objLogFile.WriteLine strComputer & vbTab & strVersion
		Else
			objLogFile.WriteLine strComputer & vbTab & "File not found"
		End If
	Else
		objLogFile.WriteLine strComputer & vbTab & "Unreachable"
	End If
Wend
objComputers.Close
MsgBox "Done"
 
Function Ping(strComputer)
	Dim objShell, boolCode
	Set objShell = CreateObject("WScript.Shell")
	boolCode = objShell.Run("Ping -n 1 -w 300 " & strComputer, 0, True)
	If boolCode = 0 Then
		Ping = True
	Else
		Ping = False
	End If
End Function

Open in new window

0
 
LVL 8

Expert Comment

by:jawa29
ID: 36708444
Hi Richard

This is a question I answered before and should help to start you off.
http://www.experts-exchange.com/Programming/Languages/Scripting/Powershell/Q_26924043.html

Jawa29
0
 
LVL 2

Author Comment

by:richardstuartpowell
ID: 36708542
Hi jawa29

I've looked at your script but I'm not 100% sure how to use it.

Can you send me the finished script to scan all of the computers in a domain called iems.toytown.com please?

When I run the script I just get the black DOS window with no messages whatsoever - it just sits there and it's not creating the text file (Set oTextFile = oFSO.OpenTextFile("C:\IE_Version_Results.csv", ForWriting, True) either - do I just need to wait a while?

Rich.
0
NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

 
LVL 8

Accepted Solution

by:
jawa29 earned 500 total points
ID: 36708576
Hi Rich

The script automatically gets the domain name from the PC it is running on.

The script could take awhile to finish depending on the number of PC's in the domain. the text file isn't created until the entire script is finished. Check Task Manager to see if you have a wscript.exe or cscript.exe still running.

Jawa29
0
 
LVL 65

Expert Comment

by:RobSampson
ID: 36708595
My script requires that you have all of your domain computers (or ones you want to scan) in a file called computers.txt.  If you don't have that already, use this code to dump all computers to a file.

Regards,

Rob.
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Set objRootDSE = GetObject("LDAP://RootDSE")
'strRootDSE = objRootDSE.Get("configurationNamingContext")
Set objNetwork = CreateObject("WScript.Network")
Set objComputers = GetObject("WinNT://" & objNetwork.UserDomain)
objComputers.Filter = Array("Computer")
Set objOutputFile = objFSO.CreateTextFile("computers.txt", True)
For Each objComputer In objComputers
	objOutputFile.WriteLine objComputer.Name
Next
objOutputFile.Close
Set objOutputFile = Nothing
MsgBox "Done"

Open in new window

0
 
LVL 2

Author Closing Comment

by:richardstuartpowell
ID: 36708835
Superb response + excellent solution / script !

Thanks a million :-)

Rich.
0

Featured Post

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A project that enables an administrator to perform actions within a user session context not just at the time of login but any time later on day(s) or week(s) later.
Auditing domain password hashes is a commonly overlooked but critical requirement to ensuring secure passwords practices are followed. Methods exist to extract hashes directly for a live domain however this article describes a process to extract u…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.
There are cases when e.g. an IT administrator wants to have full access and view into selected mailboxes on Exchange server, directly from his own email account in Outlook or Outlook Web Access. This proves useful when for example administrator want…
Suggested Courses

623 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question