Vbs Skript auf remote Rechnern ausführen lassen und ergebnis schreiben
Hallo Leute,
ich habe ein VB-Skript welches mir die Netzwerkgeschwindigkeit auf meinem Adminrechner ausliest und mir grafisch ausgibt:
Wenn ich das Skript in eine Datei umlenken will dann mache ich das mit
Das klappt alles wunderbar. Nun möchte ich das ganze auf Remote-Rechnern ausführen lassen mittels psexec und einer Hostliste. Das Ergebnis sollte dann in meiner result-Datei auf meinem lokalen Rechner abgelegt werden. Wenn möglich sollte in der Result-Datei der Hostname und deren Netzwerkverbindung bzw. Geschwindigkeit angezeigt werden. Ich fange mal an, evtl. kann mir einer zur Lösung verhelfen:
Das Ergebnis dieses Befehls ist:
ich habe ein VB-Skript welches mir die Netzwerkgeschwindigkeit auf meinem Adminrechner ausliest und mir grafisch ausgibt:
Dim strQuery, strQuery2, objLocator, objWMI, objItem, objItem2, colItems, colItems2, resultString, nicName
strQuery = "SELECT * FROM Win32_PerfFormattedData_Tcpip_NetworkInterface"
strQuery2 = "SELECT * FROM Win32_NetworkAdapter"
Set objLocator = CreateObject( "WbemScripting.SWbemLocator" )
Set objWMI = objLocator.ConnectServer( ".", "root\CIMV2" )
objWMI.Security_.ImpersonationLevel = 3
Set colItems2 = objWMI.ExecQuery( strQuery2, "WQL", 0 )
Set colItems = objWMI.ExecQuery( strQuery, "WQL", 0 )
resultString = ""
For Each objItem2 In colItems2
If objItem2.NetConnectionStatus = 2 Then
nicName = Mid(objItem2.Name, 1, 5)
resultString = resultString & "Adapter Name : " & objItem2.Name & VbCrLf
resultString = resultString & "MAC Address : " & objItem2.MACAddress & VbCrLf
For Each objItem In colItems
If Mid(objItem.Name, 1, 5) = nicName Then
resultString = resultString & "CurrentBandwidth : " & objItem.CurrentBandwidth & VbCrLf
End If
Next
End If
Next
Set objLocator = Nothing
Set objWMI = Nothing
Set colItems = Nothing
Set colItems2 = Nothing
WScript.Echo resultString
Wenn ich das Skript in eine Datei umlenken will dann mache ich das mit
cscript netspeed.vbs > result.txt
Das klappt alles wunderbar. Nun möchte ich das ganze auf Remote-Rechnern ausführen lassen mittels psexec und einer Hostliste. Das Ergebnis sollte dann in meiner result-Datei auf meinem lokalen Rechner abgelegt werden. Wenn möglich sollte in der Result-Datei der Hostname und deren Netzwerkverbindung bzw. Geschwindigkeit angezeigt werden. Ich fange mal an, evtl. kann mir einer zur Lösung verhelfen:
psexec -c @C:\hosts.txt C:\netspeed.vbs > result.txt
Starting C:\networkspeed.vbs on HOSTNAME.....
PsExec could not start networkspeed.vbs on HOSTNAME:
Das System kann die angegebene Datei nicht finden.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 230637
Url: https://administrator.de/forum/vbs-skript-auf-remote-rechnern-ausfuehren-lassen-und-ergebnis-schreiben-230637.html
Ausgedruckt am: 06.04.2025 um 05:04 Uhr
4 Kommentare
Neuester Kommentar
Du könntest das Script so anpassen, dass Du dem Script den TXT-Pfad als Parameter übergibst, die TXT einliest und dann die Daten gleich mit WMI remote abfragst. Dann kannst Du auch gleich von Script aus in ein Log schreiben und brauchst nicht die Bildschirmausgabe umleiten.
bei --> Set objWMI = objLocator.ConnectServer( ".", "root\CIMV2" )
dann eben --> Set objWMI = objLocator.ConnectServer( "{Remote Computer}", "root\CIMV2" )
E.
bei --> Set objWMI = objLocator.ConnectServer( ".", "root\CIMV2" )
dann eben --> Set objWMI = objLocator.ConnectServer( "{Remote Computer}", "root\CIMV2" )
E.