将参数传递到 Powershell 函数中

问题描述 投票:0回答:1

我使用标准的发送电子邮件消息命令为我的 Powershell 脚本创建了一个电子邮件功能。

我想将 -body 参数传递到脚本各个部分的函数中,并根据触发的内容使用不同的正文消息。

功能如下:

function emailHelp  {
   $smtpaddress = "[email protected]"
   $fromsmtpaddress = "[email protected]"

   Send-MailMessage -To $smtpaddress -From $fromsmtpaddress -Subject 'I have an issue' -SmtpServer "1.1.1.1" -Port 25
}

---some script here---

$bodyMessage

---going to call email function---
 

emailHelp -body $bodyMessage

我尝试过谷歌的不同方法,但没有一个有效。我发送的电子邮件中总是收到空内容

感谢帮助。

谢谢

唐纳德

powershell function variables
1个回答
0
投票

Send-MailMessage功能需要

-Body
参数来发送正文(请查看下面的参考)。

将输入参数(正文消息)添加到您的函数中会对您有所帮助。您可以在不同的地方使用不同的正文消息调用该函数,或者在正文消息更新时调用该函数。

代码:

function emailHelp {
    param (
        [string]$BodyMessage
    )

    $smtpaddress = "[email protected]"
    $fromsmtpaddress = "[email protected]"

    Send-MailMessage -To $smtpaddress -From $fromsmtpaddress -Subject 'I have an issue' -Body $BodyMessage -SmtpServer "1.1.1.1" -Port 25
}

# ---some script here---
$bodyMessage = "body message1."

# send with your body message
emailHelp -BodyMessage $bodyMessage

# ---some script here---
$bodyMessage = "body message2.
emailHelp -BodyMessage $bodyMessage

参考: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/send-mailmessage?view=powershell-7.4

© www.soinside.com 2019 - 2024. All rights reserved.