Powershell邮件脚本
我正在尝试创建一个powershell mailer脚本,该脚本将从Jenkins接收参数(mail_id)作为参数。第一个参数将被跳过。从第二个参数中,所有都是maild_id,这些都将获得mail。 若我使用硬编码方式,邮件通知是成功的,但若我尝试将其作为参数传递,则失败。脚本写在下面,也提到了错误 下面的问题是什么:Powershell邮件脚本,powershell,jenkins,jenkins-cli,Powershell,Jenkins,Jenkins Cli,我正在尝试创建一个powershell mailer脚本,该脚本将从Jenkins接收参数(mail_id)作为参数。第一个参数将被跳过。从第二个参数中,所有都是maild_id,这些都将获得mail。 若我使用硬编码方式,邮件通知是成功的,但若我尝试将其作为参数传递,则失败。脚本写在下面,也提到了错误 下面的问题是什么: foreach ([string[]] $arg1 in `$args| select -skip 1`) { Send-MailMessage -To $arg1 "
foreach ([string[]] $arg1 in `$args| select -skip 1`)
{
Send-MailMessage -To $arg1 "XYZ Build" -Body "$Mail_body" -smtpserver XYZ-ABCDE.XYZ.XYZ
}
错误:
Missing variable name after foreach. At C:\Deploy\SmartCM\sendmail_scm.ps1:16 char:10
+ foreach ( <<<< [string[]] $arg1 in `$args| select -skip 1`)
+ CategoryInfo : ParserError: (VariableToken:TokenId) [], ParseException
+ FullyQualifiedErrorId : MissingVariableNameAfterForeach
foreach后面缺少变量名。在C:\Deploy\SmartCM\sendmail\u scm.ps1:16 char:10
+foreach(我能够使用以下脚本解决我的目的:
foreach ($arg in $args[1..($args.length -1)])
{
[string[]]$toAddress=$arg
Write-Host "${toAddress}"
Send-MailMessage -To $toAddress -From jenkins@XYZ.com -Subject "XYZ Build" -Body "$Mail_body" -smtpserver XYZ-smtpint.XYZ.ABCD
}
感谢大家的支持!!打开(
)后,错误消息告诉您它正在查找$
(作为变量开始)。请尝试foreach(“$args”中的arg1;选择-跳过1”)
。除此之外,您还需要提供有关您试图实现的目标的更多信息。我正在尝试制作一个脚本,从Jenkins获取输入作为参数。第一个参数将被跳过,因为它是文件名,其余是邮件ID。如果您需要更多信息,请告诉我。谢谢!!这样更好。请更新您的任务了解更多的信息,比如你拥有什么,你想去哪里。