簡體   English   中英

從C#調用內部具有后台作業的Powershell腳本

[英]Powershell script with a background job inside called from c#

我從c#程序中調用Powershell腳本,由於pipeline.Invoke()的結果而返回了PSObjects的集合。 作為PS腳本的一部分,使用Net.Mail.SmtpClient發送電子郵件。 但是,發送電子郵件需要花費一些時間,因此我將電子郵件發送代碼移到了一個腳本塊中,該腳本塊使用Start-Jon -ScriptBlock執行...在這里,問題開始了:未發送電子郵件。 當我從命令行執行腳本時,它將發送電子郵件。

可能是什么原因?

實際上,在將Wait-Job添加到代碼(使其同步)之后,它又可以工作了。 我想我明白了。 我在終止主機的代碼結尾處調用runspace.Close() ,因此Powershell后台作業沒有機會執行。 因此,很不幸,我在錯誤的位置看。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM