簡體   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