PowerSheelスクリプトを手動で(PowerShellインタープリターで実行する.batファイルを介して)実行すると、SQLクエリが正しく実行され、Excelファイルが作成されて電子メールで送信されます。
自動化すると(PowerShellファイルを実行する.batファイルをインタープリターで毎晩Windowsジョブスケジューラを介して実行します)、電子メールはファイルなしで送信されます。
ラムダ関数などを使って多くの関数を作成したため、ここでコードをコピーするのは困難ですが、一般的には次のようになります。
$ ExcelWorkBook.SaveAs($ファイル名)
$ ExcelWorkBook.Close()
$ ExcelApp.Quit()
(...)
スリープ-秒500
(...)
$ MailMessage.Attachments.Add($ Filename)
$ SMTP.Send($ MailMessage)
Excelは実際にはGUIなしの自動化(Windowsタスクスケジューラ)をサポートしていないと聞きましたが、実際には別のフレームワークで機能しました。
それを機能させるにはどうすればよいですか?PowerShellから別の方法でExcelファイルを生成する方法がない場合、またはPowerShellでレポートを簡単に生成して電子メールで送信する方法を教えてください。