Hallo Zusammen,
Ich komme hier an einer Stelle einfach nicht weiter. Ich hoffe, ihr könnt mir wieder so erfolgreich helfen, wie die letzten Male zuvor auch schon.
Ich habe mir ein Script zusammen gestellt, welches remote einen Prozess starten soll. Lokal funktioniert alles reibungslos.
Nur remote nicht. Das komische ist, dass er keine Fehlermeldung ausspuckt, wenn ich den Versuch remote starte.
Laut dem Script scheint alles zu funktionieren. Nur auf dem Remoterechner sehe ich keinen Prozess, der eigentlich starten sollte.
Meine Firewall habe ich bereits so konfiguriert, dass sie RPC (Port 135) zulässt. Mit dem Tool "wbemtest" kann ich mich auch erfolgreich mit dem Remoterechner verbinden.
Hier der Code für die Remote Verbindung:
Und hier der Code für die lokale Verbindung:
Gruß p41n
Ich komme hier an einer Stelle einfach nicht weiter. Ich hoffe, ihr könnt mir wieder so erfolgreich helfen, wie die letzten Male zuvor auch schon.
Ich habe mir ein Script zusammen gestellt, welches remote einen Prozess starten soll. Lokal funktioniert alles reibungslos.
Nur remote nicht. Das komische ist, dass er keine Fehlermeldung ausspuckt, wenn ich den Versuch remote starte.
Laut dem Script scheint alles zu funktionieren. Nur auf dem Remoterechner sehe ich keinen Prozess, der eigentlich starten sollte.
Meine Firewall habe ich bereits so konfiguriert, dass sie RPC (Port 135) zulässt. Mit dem Tool "wbemtest" kann ich mich auch erfolgreich mit dem Remoterechner verbinden.
Hier der Code für die Remote Verbindung:
Visual Basic-Quellcode
- Const SW_NORMAL = 1
- Const WbemAuthenticationLevelPktPrivacy = 6
- ' Konfiguration
- strComputer = "Ip-Adresse"
- strCommand = "c:\windows\system32\Notepad.exe"
- strUsername = "Administrator"
- strPassword = "Password"
- ' Verbindung zu WMI
- Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
- Set objWMIService = objwbemLocator.ConnectServer(strComputer, "root\cimv2", strUsername, strPassword)
- objWMIService.Security_.authenticationLevel = WbemAuthenticationLevelPktPrivacy
- ' Notepad so konfigurieren, dass ein Fenster gezeigt wird
- Set objStartup = objWMIService.Get("Win32_ProcessStartup")
- Set objConfig = objStartup.SpawnInstance_
- objConfig.ShowWindow = SW_NORMAL
- ' Notepad wird gestartet und ein Rückgabewert wird erstellt
- Set objProcess = objWMIService.Get("Win32_Process")
- intReturn = objProcess.Create _
- (strCommand, Null, objConfig, intProcessID)
- If intReturn <> 0 Then
- Wscript.Echo "Process could not be created." & _
- vbNewLine & "Command line: " & strCommand & _
- vbNewLine & "Return value: " & intReturn
- Else
- Wscript.Echo "Process created." & _
- vbNewLine & "Command line: " & strCommand & _
- vbNewLine & "Process ID: " & intProcessID
- End If
Und hier der Code für die lokale Verbindung:
Visual Basic-Quellcode
- Const SW_NORMAL = 1
- Const WbemAuthenticationLevelPktPrivacy = 6
- ' Konfiguration
- strComputer = "."
- strCommand = "c:\windows\system32\Notepad.exe"
- ' Verbindung zu WMI
- Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
- Set objWMIService = objwbemLocator.ConnectServer(strComputer, "root\cimv2")
- objWMIService.Security_.authenticationLevel = WbemAuthenticationLevelPktPrivacy
- ' Notepad so konfigurieren, dass ein Fenster gezeigt wird
- Set objStartup = objWMIService.Get("Win32_ProcessStartup")
- Set objConfig = objStartup.SpawnInstance_
- objConfig.ShowWindow = SW_NORMAL
- ' Notepad wird gestartet und ein Rückgabewert wird erstellt
- Set objProcess = objWMIService.Get("Win32_Process")
- intReturn = objProcess.Create _
- (strCommand, Null, objConfig, intProcessID)
- If intReturn <> 0 Then
- Wscript.Echo "Process could not be created." & _
- vbNewLine & "Command line: " & strCommand & _
- vbNewLine & "Return value: " & intReturn
- Else
- Wscript.Echo "Process created." & _
- vbNewLine & "Command line: " & strCommand & _
- vbNewLine & "Process ID: " & intProcessID
- End If
Gruß p41n
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „p41n“ ()