Showing posts with label VB Script to List Local Administrators Membership. Show all posts
Showing posts with label VB Script to List Local Administrators Membership. Show all posts

Wednesday, January 13, 2016

VB Script to List Local Administrators Membership

VB Script to List Local Administrators Membership

Script Credit : Brian Desmond

'==========================================================================
' NAME: Dump Local Administrators Membership
'
' AUTHOR: Brian Desmond,
' DATE  : 4/16/2007
'==========================================================================


Option Explicit

Const LogFile = "LocalAdmins.log"
Const resultFile = "LocalAdministratorsMembership.csv"
Const inputFile = "c:\scripts\workstations.txt"


Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

Dim shl
Set shl = WScript.CreateObject("WScript.Shell")

Dim fil
Set fil = fso.OpenTextFile(inputFile)

Dim results
Set results = fso.CreateTextFile(resultFile, True)

WriteToLog "Beginning Pass of " & inputFile & " at " & Now()
'WScript.Echo "Beginning Pass of " & inputFile & " at " & Now()
On Error Resume Next

Dim grp
Dim line
Dim exec
Dim pingResults
Dim member

While Not fil.AtEndOfStream
    line = fil.ReadLine
   
    Set exec = shl.Exec("ping -n 2 -w 1000 " & line)
       pingResults = LCase(exec.StdOut.ReadAll)
    
    'pingResults ="reply from"
     If InStr(pingResults, "reply from") Then
         WriteToLog line & " responded to ping"
         'WScript.Echo line & " responded to ping"
        
         On Error Resume Next

        Set grp = GetObject("WinNT://" & line & "/Administrators")
       
        'WScript.Echo line & ", Administrators"
        results.WriteLine line & ",Administrators,"
       
        For Each member In grp.Members
            'WScript.Echo     "Administrators: " & member.Name
            WriteToLog line & ": Administrators - " & member.Name
            results.WriteLine ",," & member.Name
        Next
    Else
        WriteToLog line & " did not respond to ping"
        'WScript.Echo line & " did not respond to ping"
    End If
Wend

results.Close
WScript.Echo "Operation Finished"

Sub WriteToLog(LogData)
    On Error Resume Next

    Dim fil   
    '8 = ForAppending
    Set fil = fso.OpenTextFile(LogFile, 8, True)
       
    fil.WriteLine(LogData)   

    fil.Close
    Set fil = Nothing
End Sub

Solved : The user profile failed to attach. The process cannot access the file becase it is being used by another process

Issue :  The user profile failed to attach. Please contact Support. Status : 0x0000000B, Message: Cannot open virtual disk Error Code: 0x000...