Ich habe einen Powershell-Befehl, der in TeamCity ausgeführt wird. Wenn ich versuche, eine Batchdatei mit psexec aus dieser .ps-Datei remote auszuführen, wird nach dem Start der Remote-Ausführung nichts mehr angezeigt. Ich habe verschiedene Möglichkeiten ausprobiert, die in mehreren Foren diskutiert wurden, aber keinen Nutzen hatten.
Main.ps
::
Invoke-Command -ScriptBlock {C:\PSInstall.bat}
PSInstall.bat
::
C:\Tools\psexec.exe -i -d "\\server2" -u "domain\admin" -p "abcd" -f -w cmd "C:\Install.bat"
Mein Build-Protokoll:
[11:32:02]C:\BuildAgent\work\603cfc01a3fe22bb\Tools>C:\Tools\psexec.exe -i -d "\\server2" -u "domain\admin" -p "abcd" -f -w cmd "C:\Install.bat"
[11:32:02]
[11:32:02]PsExec v1.98 - Execute processes remotely
[11:32:02]Copyright (C) 2001-2010 Mark Russinovich
[11:32:02]PsExec executes a program on a remote system, where remotely executed console
[11:32:02]Sysinternals - www.sysinternals.com
[11:32:02]applications execute interactively.
Ich stecke an diesem Punkt fest und habe keine Ahnung, was passiert. Jede Hilfe wird sehr geschätzt. Ich habe EULA bereits auf dem Remote-Computer eingestellt.
Antworten:
Die
PsExec
Befehle / Argumente, die Sie in Ihrem Beispiel angegeben haben, sind fehlerhaft. Versuchen Sie stattdessen:Stellen Sie alles zusammen mit einem Beispiel, das aus etwas stammt, das ich zuvor geschrieben habe.
PSExecRetry.log
enthält die Ausgabe vonPsExec
(einschließlich Fehlern), erfasst jedoch nicht dieStdOut/StdErr
Ausgabe des nachfolgenden Befehls wie sie ist.PSExecRetry.ps1
ist das PowerShell-Skript mit einer grundlegenden Wiederholungslogik:PSInstall.cmd
wird wie folgt geändert:Install.bat
Stummel:quelle