สคริปต์ตรงไปตรงมาค่อนข้าง เพียงพยายามเริ่มบริการ windows การประมวลผลในเครื่องทำงานได้ดีเมื่ออยู่บนเครื่องเป้าหมาย สคริปต์ทำงานได้ดีเช่นกันเมื่อดำเนินการผ่าน PsExec มันจะไม่ส่งคืนจนกว่าฉันจะกดปุ่ม "Enter" บนพรอมต์ CMD ของฉัน นี่เป็นปัญหาเนื่องจากสิ่งนี้ถูกเรียกจาก TeamCity และทำให้ Agent หยุดทำงานเพื่อรอ PsExec กลับมา
ฉันได้ลองทำสิ่งต่อไปนี้แล้ว:
- การเพิ่ม
exit
และexit 0
ท้ายสคริปต์ Powershell - เพิ่ม a
< NUL
ถึงจุดสิ้นสุดของการเรียก PsExec ตามคำตอบในคำถาม SF นี้ - การเพิ่มการ
>
เปลี่ยนเส้นทาง stdout
นี่คือวิธีที่ฉันเรียก psexec:
psexec \\target -u domain\username -p password powershell c:\path\script.ps1
ไม่ว่าฉันจะทำอะไรมันแฮงค์จนกว่าฉันจะอยู่บนโลคอลพร้อมรับคำสั่ง cmd หลังจากที่ฉันกด Enter ฉันได้รับข้อความ:
powershell exited on target with error code 0.