Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

VB Script to Check Administrator Group on a List of PC's

Posted on 2011-03-11
10
Medium Priority
?
417 Views
Last Modified: 2012-05-11
Hello - I need a VB script that will run against a list of PC's and report back which users/groups are in the Administrators Group on the PC's.
0
Comment
Question by:vhaperbaugub
[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
  • 5
  • 5
10 Comments
 
LVL 8

Expert Comment

by:jawa29
ID: 35110945
Hi

The code below should do the trick, just create a text file on you C: called ListOfPCs.txt with each PC on it's own line and this script will work.

Remember to run this as a Domain Admin or else you won't be able to query the PC remotely.

Jawa29


Const ForReading = 1
Const ForWriting = 2

On Error Resume Next

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFile = objFSO.OpenTextFile("C:\ListOfPCs.txt", ForReading)

Do Until oFile.AtEndOfStream
	sComputer = oFile.ReadLine
	sTxt = sTxt & "--" & sComputer & "--" & vbCRLF
	Set oGroup = GetObject("WinNT://" & sComputer & "/Administrators,group")
	For Each oUser in oGroup.Members
		sTxt = sTxt & oUser.Name & vbCRLF
	Next
	sTxt = sTxt & "----------"
Loop

Set oTextFile = oFSO.OpenTextFile("C:\ListOfPCs-Results.txt", ForWriting, True)
oTextFile.WriteLine(sTxt)
oTextFile.Close

Set oFSO = Nothing
Set oFile = Nothing
Set oGroup = Nothing

WScript.Quit

Open in new window

0
 

Author Comment

by:vhaperbaugub
ID: 35111090
Hello - I got this error: C:\FindAdmin.vbs(30, 25) Microsoft VBScript compilation error: Expected end of statement
0
 
LVL 8

Expert Comment

by:jawa29
ID: 35111121
Sorry Friday fingers in operation

Replace this line
Set oFile = objFSO.OpenTextFile("C:\ListOfPCs.txt", ForReading)


With this
Set oFile = oFSO.OpenTextFile("C:\ListOfPCs.txt", ForReading)

Code tested.

Jawa29

0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 

Author Comment

by:vhaperbaugub
ID: 35111267
Hello - Now I'm getting this error:

C:\FindAdmin.vbs(31, 25) Microsoft VBScript compilation error: Expected end of statement
0
 
LVL 8

Expert Comment

by:jawa29
ID: 35111304
Can you paste your exact code please?

Jawa29
0
 

Author Comment

by:vhaperbaugub
ID: 35111444
Const ForReading = 1
Const ForWriting = 2

On Error Resume Next

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFile = oFSO.OpenTextFile("C:\ListOfPCs.txt", ForReading)


Do Until oFile.AtEndOfStream
      sComputer = oFile.ReadLine
      sTxt = sTxt & "--" & sComputer & "--" & vbCRLF
      Set oGroup = GetObject("WinNT://" & sComputer & "/Administrators,group")
      For Each oUser in oGroup.Members
            sTxt = sTxt & oUser.Name & vbCRLF
      Next
      sTxt = sTxt & "----------"
Loop

Set oTextFile = oFSO.OpenTextFile("C:\ListOfPCs-Results.txt", ForWriting, True)
oTextFile.WriteLine(sTxt)
oTextFile.Close

Set oFSO = Nothing
Set oFile = Nothing
Set oGroup = Nothing

WScript.Quit

Toggle HighlightingOpen in New WindowSelect All
0
 
LVL 8

Accepted Solution

by:
jawa29 earned 2000 total points
ID: 35111477
Whats this?

Toggle HighlightingOpen in New WindowSelect All

Once the script hits WScript.Quit it will finish, remove the above mentioned line.

Jawa29
0
 

Author Comment

by:vhaperbaugub
ID: 35111559
That was wierd.....its working now....Thanks!!!!!!!!!!!!!
0
 

Author Comment

by:vhaperbaugub
ID: 35111982
Just wondering.....is there a way to add a progress bar or something to the script? When you do a couple thousand PC's at once the screen remains blank.....Thanks again.
0
 
LVL 8

Expert Comment

by:jawa29
ID: 35112080
The only real way to do that effectivly is to run the script using cscript and add a Wscript.Echo in there.

Something like:

Do Until oFile.AtEndOfStream
      sComputer = oFile.ReadLine
      sTxt = sTxt & "--" & sComputer & "--" & vbCRLF
      Set oGroup = GetObject("WinNT://" & sComputer & "/Administrators,group")
      For Each oUser in oGroup.Members
            sTxt = sTxt & oUser.Name & vbCRLF
      Next
      sTxt = sTxt & "----------"
      Wscript.Echo sComputer
Loop


If you add this then just double click the file it will constantly pop up a window with the computer name has just completed and not continue until you select OK.

I use VBSEdit which allows you to run scripts as cscript which outputs to a window.

If you want to run the script in script from a command window just type in cscript C:\scriptname.vbs

Jawa29

0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

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

Welcome, welcome!  If you are new to the series and haven't been following along, please take a brief moment to review the first three installments: Part 1 (http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/A_266-VBScri…
Well hello again!  Glad to see you've made it this far without giving up.  In this, the fourth installment of my popular series, I'm going to cover functions and subroutines, what they are, and why they are useful.  Just in case you stumbled onto th…
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …

636 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