当我手动运行 PowerSheel 脚本时 - 通过使用 PowerShell 解释器执行它的 .bat 文件 - 它正确执行 SQL 查询并创建一个 Excel 文件并通过电子邮件发送它。
如果我将其自动化 - 每晚通过 Windows 作业调度程序运行 .bat 文件,该文件使用解释器运行 PowerShell 文件 - 然后发送的电子邮件没有文件。
在这里复制代码很困难,因为我制作了一个很好的框架,其中包含许多具有 lambda 函数和所有功能的深度,但通常:
$ExcelWorkBook.SaveAs($文件名)
$ExcelWorkBook.Close()
$ExcelApp.Quit()
(...)
睡眠 - 秒 500
(...)
$MailMessage.Attachments.Add($Filename)
$SMTP.Send($MailMessage)
我听说 Excel 实际上并不支持无 GUI 自动化(Windows 任务调度程序),但实际上通过不同的框架对我有用。
如果不能以其他方式从 PowerShell 生成 Excel 文件,或者如何在 PowerShell 中轻松生成并通过电子邮件发送报告,我该怎么做才能使其工作?