Pb script vbs recuperation user dans groupe administrateurs local
Bonjour a tous
voila j'ai un petit pb avec un script au niveau d'une commande exec qui m'ouvre bien une fenetre dos pour effectuer un ping mais elle reste noir et donc par la suite dans mon script il pense que le ping n'a pas repondu avez une idée.
voici le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| Option Explicit
Const LogFile = "c:\LocalAdmins.log"
Const resultFile = "c:\LocalAdministrateursMembership.csv"
Const inputFile = "c:\workstations.txt"
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")
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 = WshShell.exec("ping.exe -n 4 " & line)
pingResults = LCase(exec.StdOut.ReadAll)
If InStr(pingResults, "Réponse de ") Then
WriteToLog line & " répondu au ping"
WScript.Echo line & " répondu au ping"
'On Error Resume Next
Set grp = GetObject("WinNT://" & line & "/Administrateurs")
WScript.Echo line & ", Administrateurs"
results.WriteLine line & ",Administrateurs,"
For Each member In grp.Members
WScript.Echo "Administrateurs: " & member.Name
WriteToLog line & ": Administrateurs - " & member.Name
results.WriteLine ",," & member.Name
Next
Else
WriteToLog line & " n'a pas répondu au ping"
WScript.Echo line & " n'a pas répondu au ping"
End If
Wend
results.Close
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 |