【发布时间】:2019-11-15 18:02:56
【问题描述】:
从这篇文章开始 How can I catch an Excel file's macro error in Powershell?
每次脚本在特定步骤运行时出现异常,我都需要一些帮助才能让 PowerShell 向我发送电子邮件。
这是我当前脚本的代码。
app = New-Object -comobject Excel.Application
$app.Visible = $False
$app.DisplayAlerts = $False
$wb = $app.Workbooks.Open("\\IESWDBMSFSP001\SHARED02\Technical_Training\PUBLIC\REPORT\USER_FEED\LMS_USERS_QUERY.xlsx")
$wb.Name
$wb.RefreshAll()
$wb.Save()
$wb.Close()
$app.Quit()
关键部分是$wb.RefreshAll(),由于源数据已损坏,它有时会失败。
理想情况下,当仅执行此命令 $wb.RefreshAll() .
我会使用此代码的稍微修改的版本来发送电子邮件,所以这部分我很好。 https://gallery.technet.microsoft.com/scriptcenter/Send-HTML-Email-Powershell-6653235c
我不知道并且需要帮助的是如何触发电子邮件,我想我需要一个 if 语句:“IF 异常,发送电子邮件,ELSE 关闭并保存”
【问题讨论】:
-
这里有一个错字:
$Fales-->$False -
我不确定
.RefreshAll()会引发哪种类型的错误,但您可以使用try/catch块吗? -
错误更正,谢谢
标签: excel powershell email exception notifications