gpt4 book ai didi

powershell - 控制台输出到Powershell中的电子邮件

转载 作者:行者123 更新时间:2023-12-03 07:50:16 25 4
gpt4 key购买 nike

我正在为每月维护过程编写一个Powershell脚本。为了跟踪它,我使用了一个try catch块,当成功或失败时,它将发送一封电子邮件。为此,我正在使用smtp。我想知道如何将控制台输出写入电子邮件。如果您有任何建议,请告诉我。上手时遇到麻烦。

先感谢您。

这是我最近尝试过的,但是没有用:

catch {

$smtpServer = "example"
$msg = new-object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$msg.From = "example"
$msg.To.Add("example")
$msg.Subject = "MONTHLY MAINTENANCE FAILED!"
$msg.Body= Write-Error ("Monthly maintenance failed! Please investigate." + $_)
$smtp.Send($msg)
$msg.Dispose();

}

最佳答案

问:什么“行不通”?

建议:

1)编写一个示例脚本,故意触发错误

2)确保您已成功捕获所需的错误文本(您应该能够像执行操作那样从$_获取它)

3)确保您的电子邮件参数正确

4)分而治之:首先是Powershell语法,之后是E-Mail连接。

我的直觉是您需要调试电子邮件连接。

例如:

Try {
1/0 # throw "divide by zero"
}
Catch {
$errmsg = "Monthly maintenance failed! Please investigate." + $_
Write-Console $errmsg

$smtpServer = "example"
$msg = new-object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$msg.From = "example"
$msg.To.Add("example")
$msg.Subject = "MONTHLY MAINTENANCE FAILED!"
$msg.Body= $errmsg
$smtp.Send($msg)
$msg.Dispose();

}

关于powershell - 控制台输出到Powershell中的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28617562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com