繁体   English   中英

执行内联Powershell脚本

[英]Executing inline powershell script

我正在尝试从Task Scheduler调用嵌入式Powershell脚本,以在触发特定事件时发送电子邮件。 我无法在“任务计划程序”操作窗口中使用本机的“发送电子邮件”操作,因为SMTP服务器需要SSL,并且无法在操作窗口中指定此操作。 因此,我希望“启动一个程序”并调用某些东西来发送电子邮件,但我想避免使用第三方应用程序(例如sendEmail),以期希望能够调用类似于以下内容的内联Powershell脚本。

将“程序/脚本”字段设置为powershell ,将参数字段设置为:

-Command "{Send-MailMessage -From "Name <name@domain.com>" -To "name@domain.com" -Subject "Test Subject" -Body "Test body at $(Get-Date -Format "dd/MM/yyyy")." -SmtpServer "smtp.domain.com" -UseSSL}"

由于嵌套引号等原因,这显然不起作用,因此我一直尝试在命令提示符中使用不同的变体,但是我一生都无法弄清楚我需要转义哪些字符以及如何转义它们。

任何帮助将非常感激。

这应该工作:

powershell -Command 'Send-MailMessage -From "Name <name@domain.com>" -To "name@domain.com" -Subject "Test Subject" -Body "Test body at $(Get-Date -Format "dd/MM/yyyy")." -SmtpServer "smtp.domain.com" -UseSSL'

您可以在双引号周围使用单引号,并且不需要在命令前后使用大括号。

  1. 只需看一下“ powershell /?”的示例部分 ...

PowerShell-命令“ {Get-EventLog -LogName应用程序}”


  1. 看看如何使用引号。

PowerShell-命令 &{发送邮件消息-从'名称'-到'name@domain.com'-主题'测试主题' -正文('测试正文在{0}。'-f(获取日期-格式' dd / MM / yyyy')) -SmtpServer'smtp.domain.com'-UseSSL}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM