我写了一个powershell脚本来打印出pdf并发送电子邮件给自己。当我从我的帐户在powershell中运行它时,它完全正常工作。当我将脚本转换为exe(使用POWERGUI)时,它仍然正常运行。
我遇到的问题是,当我从ssis包调用该exe(它作为管理员帐户运行)时,打印不起作用,但电子邮件仍然发送。
我的猜测是因为打印功能弹出adobe acrobat而且很可能导致它在后台作为另一个帐户运行时无法打印。 这是我的代码:
Try
{
Start-Process -FilePath $UNCpath –Verb Print -WindowStyle Hidden -PassThru | %{sleep 10;$_} | kill
Send-MailMessage -To "myaccount@work.com" -From "myaccount@work.com" -Subject 'printing from script' -SmtpServer "mail.work.com" -Body $path
return 1
}
Catch [system.exception]
{
write-host "ERROR: caught a system exception printing"
}
return 0