Saya menggunakan PSExec dalam lingkungan mesin uji untuk memulai paket pengaturan aplikasi yang akan diuji sebagai administrator, dan kemudian menjalankan tes sebagai administrator jika diperlukan. PSExec hanya digunakan untuk bagian "jalankan sebagai" di sini, tidak ada eksekusi jarak jauh. Panggilannya terlihat seperti ini:
c:\psexec -u Administrator -p adminpassword -w C:\SystemTests C:\SystemTests\run_system_tests.cmd ...
Masalahnya adalah bahwa Jenkins, server CI kami, hanya menangkap logo PSExec di output konsol, tetapi bukan hasil tes yang sebenarnya:
PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com
C:\SystemTests\run_system_tests.cmd exited with error code 0.
Skrip yang dimulai membuka jendela konsolnya sendiri secara lokal dan mencetak semua yang ada di sana. Tapi itu tidak masuk Jenkins sehingga kita tidak akan tahu apa yang dilakukan skrip dan mengapa semuanya gagal.
Apakah ada opsi untuk membuat PSExec mencetak keluaran program yang dimulai ke stdout, alih-alih logo, dan tidak membuka jendela konsol?
type filename
) setelah psexec - dan redirection shell tidak dapat digunakan dengan psexec?
tee
(jika tersedia untuk Windows) juga umumnya memerlukan pengalihan (yang tampaknya menjadi masalah di sini) dan hanya menambahkan fitur untuk mendapatkan output pada keduanya, tampilan dan file. Saya hanya perlu file, desktop tidak dijaga. // Perbarui: Sebenarnya saya tidak ingin file, tetapi stdout untuk ditangkap ...