繁体   English   中英

在计划程序中自动运行时,PowerShell脚本无法正确通过电子邮件发送Excel报告文件

[英]PowerShell script not properly e-mailing Excel report file when ran automatically in the scheduler

当我手动运行PowerSheel脚本时-通过一个使用PowerShell解释器执行该脚本的.bat文件-该脚本正确执行SQL查询并创建一个Excel文件并通过电子邮件发送。

如果我将其自动化-每天晚上通过Windows作业计划程序运行使用解释程序运行PowerShell文件的.bat文件-那么将发送不带文件的电子邮件。

很难在这里复制代码,因为我做了一个很好的框架,其中很多功能都带有lambda函数以及所有功能,但总的来说:

$ ExcelWorkBook.SaveAs($ Filename)

$ ExcelWorkBook.Close()

$ ExcelApp.Quit()

(...)

睡眠-500

(...)

$ MailMessage.Attachments.Add($ Filename)

$ SMTP.Send($ MailMessage)

我听说Excel实际上并不支持无GUI自动化(Windows任务计划程序),但实际上它通过另一个框架为我工作。

我如何做才能使其正常工作,如果不能如何以其他方式从PowerShell中生成Excel文件,或者如何在PowerShell中轻松地生成报告并通过电子邮件发送报告呢?

@丹是的。 CSV是用于公司报告的非常差的报告格式,没有颜色,没有格式,没有任何内容。 经理将在他的收件箱中被侮辱。

@VonPryz-但可以手动使用! 所以你说调试调度?

如果您运行的是Windows 2008或更高版本,则该作业可能在session0中执行(在Microsoft了解有关session0隔离的信息)。

您必须为session0创建桌面文件夹,在此处了解更多信息: http ://social.msdn.microsoft.com/Forums/en/innovateonoffice/thread/b81a3c4e-62db-488b-af06-44421818ef91

Windows 2008 Server x64请将此文件夹设置为C:\\ Windows \\ SysWOW64 \\ config \\ systemprofile \\ Desktop

Windows 2008 Server x86请将此文件夹设置为C:\\ Windows \\ System32 \\ config \\ systemprofile \\ Desktop

然后重新启动机器,然后重试。 我通过创建任务文件夹并通过任务计划程序和powershell与无GUI的Excel自动化一起工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM