我从c#
程序调用Powershell脚本,由于PSObjects
而返回pipeline.Invoke()
的集合。作为PS脚本的一部分,使用Net.Mail.SmtpClient发送电子邮件。但是,发送电子邮件需要一些时间,因此我将电子邮件发送代码移动到使用Start-Jon -ScriptBlock
执行的脚本块中......然后问题就出现了:电子邮件未发送。当我从命令行执行脚本时,它会发送一封电子邮件。
可能是什么原因?
答案 0 :(得分:1)
实际上,在将Wait-Job
添加到代码(使其同步)之后,它再次起作用。我想我明白了。
我在代码的末尾调用runspace.Close()
终止主机,因此Powershell后台作业无法执行。不幸的是,我找错了地方。