【发布时间】:2017-05-05 14:38:24
【问题描述】:
我有一个从远程机器获取最新事件日志的脚本。 通过 Outlook 向特定人群发送事件日志详细信息。该脚本在通过 Powershell ISE 运行时运行良好,但不能使用任务计划程序发送电子邮件。 任何帮助,将不胜感激。谢谢
脚本如下:
$Recipients="xyz@outlook.com","abc@outlook.com"
Foreach ($name in $Recipients) {
$Outlook = New-Object -ComObject Outlook.Application
$Mail = $Outlook.CreateItem(0)
$Mail.Recipients.Add($name)
$Mail.Subject ="Testing"
$Mail.Body ="Demo"
Write-Host "Sending Email"
$Mail.Send()
}
【问题讨论】:
-
如果您通过 cmd
powershell -file '.\your-script.ps1'手动运行脚本,您会收到什么错误消息(如果有)? -
任务计划程序可能使用与您不同的用户作为命令行用户。确保调度程序用户具有正确的 Outlook 邮件配置文件。
-
@n01d 没有错误表明它工作正常。但是在任务调度程序时它没有发送电子邮件
-
@AxelKemper 我的 Outlook 有 3 个帐户,我如何指定它应该从哪个帐户发送电子邮件。
-
当您启动
Outlook.Application对象时,它会连接到当前用户的默认Outlook邮件配置文件。您可以为邮件调度目的创建一个技术用户,并将所需的邮件帐户配置为默认值。告诉调度程序将此技术用户用于您的计划任务。作为替代,Namespace.Logon方法可用于连接到指定帐户。向 Google 询问详情。
标签: email powershell outlook taskscheduler