Das Ausführen einer Remote-Stapeldatei mit psexec über Jenkins schlägt fehl

8

... Das Ausführen der gleichen Batch-Datei mit psexec vom Slave funktioniert direkt ohne Charme.

Lassen Sie mich weitere Informationen geben. Jenkins und sein Sklave sind in einer anderen Domäne als unsere Zielmaschine.

Wenn ich die Batchdatei wie folgt starte:

%Vor%

direkt vom Slave (Remote Desktop übernimmt die Maschine und öffnet eine Eingabeaufforderung) das funktioniert einwandfrei.

Wenn ich es in Jenkins in einem Windows-Batch-Build-Schritt eintrage, gibt es keine sichtbare Ausgabe und ich sehe nur einen Spinner, aber nichts passiert mehr und der Build hängt sich an irgendeinen anderen Build an und erzeugt einen massiven Rückstand. Offenbar erhalte ich eine Fehlerüberwachung, bei der mein Jenkins-Benutzer versucht, sich am Zielcomputer anzumelden, jedoch habe ich einen Domänenbenutzer mit Administratorrechten auf der Zielmaschine angegeben (ein Domänenbenutzer für die Domäne des Zielrechners).

Hat jemand eine Idee, warum der Benutzer versucht, sich mit anderen als den angegebenen Anmeldedaten anzumelden, und warum dies so funktioniert, dass er direkt vom Jenkins-Slave ausgeführt wird?

Oder eine andere Möglichkeit, dies zu erreichen (Ausführen einer Batch-Datei auf dem Remote-Rechner), ist mehr als willkommen.

    
Guillaume Schuermans 25.02.2013, 22:14
quelle

4 Antworten

5

Dies ist ein berüchtigtes Problem mit psexec:

Ссылка

Die Programmausgabe ging verloren, wenn PsExec

übergeben wurde

Sie können es mit xCmd versuchen: Ссылка (Es funktioniert nicht gegen localhost)

    
npocmaka 25.02.2013, 23:29
quelle
5

PAExec ist ein funktionaler Klon von PSExec und lässt uns die Ausgabe über Jenkins usw. sehen .

Ссылка

XCmd ist das, was wir bei HP benutzt haben, aber aus irgendeinem Grund funktioniert es nicht bei meinem aktuellen Auftritt.

Ich weiß nicht, wann PAExec erschien, aber es scheint eine ideale Lösung zu sein. Kurz nachdem ich es entdeckt hatte (heute), habe ich ein intermittierendes Problem mit einer sehr langen / involvierten Jenkins Deployment Pipeline gelöst.

    
Paul Lockwood 10.01.2015 19:22
quelle
2

Versuchen Sie das, das wird funktionieren

%Vor%     
Ashoka 09.09.2014 10:22
quelle
-1

versuche paar Dinge ...

  1. Fügen Sie die Parameteroption 0 nach dem Acceptuel in Ihrem Befehl hinzu, das einen vorhandenen psexec-Prozess, der aufgelegt ist, beendet und mit der Verarbeitung Ihres psexecs beginnt

  2. überprüfen Sie die Maschine für 32-Bit oder 64-Bit ..

    für 64-bit wird der psexec in C: \ Windows \ system32
    gesucht Für 32-Bit wird der Psexec in C: \ Windows \ SysWOW64

    durchsucht

im jenkins-Job können Sie die msbuild-Version entsprechend auf 64 BIT oder 32 BIT setzen und es sollte wie erwartet funktionieren.

    
Sunil Bemarkar 16.10.2013 05:04
quelle