GELÖST PsExec startet Datei nicht

Diskutiere PsExec startet Datei nicht im WinXP - Netzwerk Forum im Bereich Windows XP Forum; Hallo, bei dem nachfolgenden Script, wird zwar auf beiden Rechnern (XP Prof SP3) der Prozess gestartet und auch wieder beendet, aber sonst tut...
  • PsExec startet Datei nicht Beitrag #1
I

IraDa

Threadstarter
Dabei seit
03.06.2012
Beiträge
8
Hallo,

bei dem nachfolgenden Script, wird zwar auf beiden Rechnern (XP Prof SP3) der Prozess gestartet und auch wieder beendet, aber sonst tut sich nichts.
Keine Fehlermeldungen.

Code:
Dim strComputer, strUserName, strPassword
Dim objWExec

strComputer = "XXX"
strUserName = "Administrator"
strPassword = "XXX"

Set objShell = WScript.CreateObject ("WScript.Shell")
set objWExec = objShell.Exec("C:\Programme\SysinternalsSuite\psexec.exe \\" & strComputer & " -s " & strUserName & " -p " & strPassword & " P$:\Scripte\LtS_All.vbs")


Kann mir jemand weiter helfen?
Vielen Dank schon einmal im Voraus.

Grüße
Ira.
 
  • PsExec startet Datei nicht Beitrag #2
HaraldL

HaraldL

Dabei seit
26.07.2006
Beiträge
6.050
Ort
Niederbayern
Lasse dir mal den String, statt ihn auszuführen, als Dialogbox anzeigen. Ich vermute daß dieser nach dem Zusammenbau nicht korrekt ist, insbesondere das "$" könnte durch Variablenauflösung verschwinden.

Außerdem: Ist P: auf dem Zielrechner ein physisches Laufwerk das auch existiert wenn sich dort der Benutzer "Administrator" lokal anmeldet? Und mir kommt die Schreibweise "P$:\..." generell irgendwie komisch vor, funktioniert das lokal auf dem Zielrechner, also ohne psexec gestartet, mit dem "$" drin?
 
  • PsExec startet Datei nicht Beitrag #3
I

IraDa

Threadstarter
Dabei seit
03.06.2012
Beiträge
8
Hallo HaraldL,

Lasse dir mal den String, statt ihn auszuführen, als Dialogbox anzeigen.

wenn Du mir verrätst, wie das geht ...
Bin schon froh, dass ich soweit gekommen bin.

Da es keine Fehlermeldung mehr gab, z.B. "Netzlaufwerk nicht gefunden" hab ich es drin gelassen.
Es existiert nur eine administrative Freigabe auf das Laufwerk.
Aber auch ohne "$" ändert sich nichts. (Hab es gerade getestet)

Und ja, das Laufwerk P exististiert auf dem Zielrechner.

Kann es sein, dass mir die Firewall dazwischen funkt?
Als ich das Script einfach auf den Zielrechner kopiert und dort ausgeführt habe, fragte mich "Comodo" plötzlich, ob ich die Anwendung zulassen will.
"Comodo" ist auf beiden Rechnern installiert.
Ich hatte gerade eh versucht, herauszufinden, ob die Firewall geblockt hat.

Muss ich bestimmte Ports freigeben?

Grüße,

Ira.
 
  • PsExec startet Datei nicht Beitrag #4
HaraldL

HaraldL

Dabei seit
26.07.2006
Beiträge
6.050
Ort
Niederbayern
wenn Du mir verrätst, wie das geht ...
Bin schon froh, dass ich soweit gekommen bin.

ersetzte einfach in der letzten Zeile alles vor der Klammer mit "msgbox", also

msgbox("C:\Programme\SysinternalsSuite ...

Es existiert nur eine administrative Freigabe auf das Laufwerk. Aber auch ohne "$" ändert sich nichts. (Hab es gerade getestet)
Und ja, das Laufwerk P exististiert auf dem Zielrechner.

Als physisches Laufwerk? Denn wenn es ein verbundenes Netzlaufwerk ist dann muß das ausdrücklich auch für den Administrator verbunden werden. Denn verbundene Laufwerke gelten für jeden Benutzer separat. Also wenn ich als Benutzer ein Laufwerk X: verbinde und dann einen Task als Administrator starte hat dieser das X: nicht, außer ich verbinde es als Administrator angemeldet nochmal.

Und die administrative Freigabe P$ kann man nicht als Laufwerksbuchstabe verwenden, ein "dir c$:" geht ja auch nicht, ein "dir \\localhost\c$" aber schon.

Kann es sein, dass mir die Firewall dazwischen funkt?
Natürlich kann das sein. Da ich Comodo noch nicht benutzt habe kann ich da aber nicht weiterhelfen, außer evtl. mit dem Tipp die Firewall testweise an beiden Rechnern kurzzeitig abzuschalten um zu sehen ob es an dieser liegt.
 
  • PsExec startet Datei nicht Beitrag #5
I

IraDa

Threadstarter
Dabei seit
03.06.2012
Beiträge
8
Hallo HaraldL,

ersetzte einfach in der letzten Zeile alles vor der Klammer mit "msgbox", also

msgbox("C:\Programme\SysinternalsSuite ...

Hab ich gemacht.
Außer, dass jetzt eine Box aufgeht, in der steht:

C:\Programme\SysinternalsSuite\psexec.exe \\XXX -s Administrator -p XXX P:\Scripte\LtS_All.vbs

mit einem OK-Button

passiert weiter nichts. (Rechnernamen und Passwort habe ich hier geixxt)

Firewall hab ich auf beiden Rechnern unter Protest derselbigen abgeschaltet.
Keine Reaktion auf dem Zielrechner, außer dass sich dort mal ganz kurz im Systemexplorer etwas regte, aber in der History konnte ich nichts finden, was ich zuordnen könnte.

Und ja, "P" ist eine Laufwerkspartition, keine Netzwerkfreigabe.
Die Gruppe Administratoren (mit Administrator als Member) hat Vollzugriff. Weiter sind noch keine User eingerichtet.

Grüße,
Ira.
 
  • PsExec startet Datei nicht Beitrag #6
automatthias

automatthias

vernunftgeplagt
Dabei seit
21.04.2006
Beiträge
12.522
Auch eine Software-Firewall sollte erst einmal einen Zugriff von außen blockieren. Das müsste dann irgendwo protokolliert sein. Dann solltest Du gezielt Zugriffsregeln erstellen, die das erlauben. Zum Testen, ob der Skript überhaupt funktioniert, kann die FW natürlich inaktiv bleiben.

Kannst Du den Befehl denn von der Kommandozeile aus aufrufen (bzw. was passiert dann) ?
Es könnte ja auch sein, dass bei der Remote-Ausführung der Skript LtS_All.vbs gar nicht die richtigen Rechte hat. Kannst Du diesen Skript auf dem Zielsystem durch Doppelklick im Explorer ausführen?
Schau auch mal in den Eventlogs auf Quell- und Zielsystem.
 
  • PsExec startet Datei nicht Beitrag #7
I

IraDa

Threadstarter
Dabei seit
03.06.2012
Beiträge
8
Hallo,

ich hab jetzt die Lösung gefunden: :D

Wie in diesem Beitrag beschrieben, konnte der Aufruf einer VBS-Datei so nicht funktionieren:
http://www.administrator.de/articles/detail.php?id=120692

Ich finde PSEXEC sagt beim direten Aufruf einer VBS genau wo das Problem ist:
%1 ist keine zulässige Win32 Anwendung.

Ist es auch nicht.
psexec \\computer c:\windows\system32\cscript.exe Pfad_zu_VBS tut genau was es soll.

Der Code muss also so lauten:
Code:
Dim strComputer, strUserName, strPassword
Dim objWExec

strComputer = "XXX"
strUserName = "Administrator"
strPassword = "XXX"

Set objShell = WScript.CreateObject ("WScript.Shell")
Set objWExec = objShell.Exec("C:\Programme\SysinternalsSuite\psexec.exe \\" & strComputer & " -u " & strUserName & " -p " & strPassword & " c:\windows\system32\cscript.exe P:\Scripte\LtS_All.vbs")

Set objWExec = Nothing

Set strUserName = Nothing
Set strPassword = Nothing
Set strComputer = Nothing

WScript.Quit


Ich danke Euch beiden für die hilfreichen Hinweise!!!

Grüße,
Ira.
 
  • PsExec startet Datei nicht Beitrag #8
I

IraDa

Threadstarter
Dabei seit
03.06.2012
Beiträge
8
Damit kann ich das Thema hier als erfolgreich gelöst markieren.
Nochmals vielen Dank!!!
 
Thema:

PsExec startet Datei nicht

PsExec startet Datei nicht - Ähnliche Themen

Hilfe bei VBScripten gesucht: Hallo, ich komme bei folgendem Problem einfach nicht weiter und hoffe, dass mir hier jemand weiterhelfen kann. Hoffe auch, dass ich in die...
Sucheingaben

psexec netzwerkpfad

Oben