Hoi,
Ik ben totaal geen scripting man, maar ik heb dit script 'bij elkaar geraapt' om remote de userprofielen van pc's te halen met de tool DELPROF.
Het leest een lijst van pc's, pingt de machine om te kijken of hij aanstaat, en moet dan het commando uitvoeren.
Helaas blijft het hangen als ik het commando laat uitvoeren.
Als ik wshell.Run gebruik werkt het wel, maar krijg ik geen responses terug.
Wat doe ik fout?
Ik ben totaal geen scripting man, maar ik heb dit script 'bij elkaar geraapt' om remote de userprofielen van pc's te halen met de tool DELPROF.
Het leest een lijst van pc's, pingt de machine om te kijken of hij aanstaat, en moet dan het commando uitvoeren.
Helaas blijft het hangen als ik het commando laat uitvoeren.
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
| Set oFS = CreateObject("Scripting.FileSystemObject")
Set oTS = oFS.OpenTextFile("c:\test\script\testpca.txt")
Do Until oTS.AtEndOfStream
strComputer = oTS.ReadLine
arrPCs = Split(strNextLine , VbCrLf)
On Error Resume Next
Dim strTarget, strPingResults
strTarget = strComputer
Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec("ping -n 3 -w 2000 " & strTarget) 'send 3 echo requests, waiting 2secs each
strPingResults = LCase(WshExec.StdOut.ReadAll)
If InStr(strPingResults, "reply from") Then
WScript.Echo strTarget & " responded to ping."
Call Delpro
Else
WScript.Echo strTarget & " did not respond to ping."
End If
Loop
oTS.Close
WScript.Quit
Function Delpro
Dim strAnswer
Set wshell = WScript.CreateObject("WScript.Shell")
Set WshDo = wshell.Exec ("delprof /Q /I /c:\\" & strComputer & "/D:2")
strAnswer = LCase(WshDo.StdOut.ReadAll)
If InStr(strAnswer, "Deleting") Then
WScript.echo strComputer & " was cleaned."
Else
WScript.Echo strComputer & " could not be cleaned. Access Denied!!!"
End If
WScript.Sleep(2000)
'Next
End Function |
Als ik wshell.Run gebruik werkt het wel, maar krijg ik geen responses terug.
Wat doe ik fout?
>Select * FROM users WHERE clue > 0