Scriptnya cukup lurus ke depan. Cukup mencoba untuk memulai banyak layanan windows. Eksekusi secara lokal berfungsi dengan baik ketika berada di mesin target. Script ini benar-benar mengeksekusi juga ketika dilakukan melalui PsExec, itu tidak pernah kembali sampai saya menekan tombol "enter" pada prompt CMD saya. Ini adalah masalah, karena ini dipanggil dari TeamCity, dan itu membuat Agen menunggu PsExec untuk kembali.
Saya sudah mencoba yang berikut ini:
- Menambahkan
exit
danexit 0
di akhir skrip Powershell - Menambahkan a
< NUL
ke akhir panggilan PsExec, per jawaban dalam pertanyaan SF ini - Menambahkan
>
pengalihan stdout
Inilah bagaimana saya sebenarnya memanggil psexec:
psexec \\target -u domain\username -p password powershell c:\path\script.ps1
Tidak peduli apa yang saya lakukan, itu hang sampai saya yang secara lokal pada cmd prompt. Setelah saya menekan enter, saya menerima pesan:
powershell exited on target with error code 0.
sumber
Saya tahu jawabannya datang terlambat pasti sudah dipecahkan, Jika tidak mungkin berguna bagi pengunjung masa depan.
STDIN harus diarahkan kembali ke dalam perintah eksekusi powershell agar dapat datang dari hang (Here it wait in STDIN). untuk dapat melakukan ini, gunakan -inputformat none
powershell -inputformat none -File powershell_script.ps1
akan bekerja.Periksa - https://connect.microsoft.com/PowerShell/feedback/details/572313/powershell-exe-can-hang-if-stdin-is-redirected
sumber
Juga memperbaiki masalah.
The
-d
bendera untuk PsExec seperti "run dan keluar" dalam cara yang non-interaktif:sumber
Powershell tidak keluar. Coba baris perintah ini
sumber
Saya sedang menjalankan
psexec
dengan skrip VBS dan solusi yang ditandai sebagai yang terbaik (EX:)psexec \\target -u domain\username -p password cmd /c "echo . | powershell c:\path\script.ps1"
hanya bekerja untuk saya selama setiap 3 atau lebih dijalankan. Saya terus menggali dan menemukan deskripsi masing-masing saklarSaya memutuskan untuk mencoba "-s" dan apa yang berhasil bagi saya setiap saat Berikut adalah contoh saya:
sumber