我正在尝试创建一个powershell邮件程序脚本,它将从Jenkins接收参数(mail_ids)作为参数。第一个参数是要跳过的。从第二个参数都是maild_ids,那些将获得邮件。 如果我使用硬编码方式,邮件通知会成功,但如果我尝试将其作为参数传递,则会失败。脚本写在下面,也提到了错误。
下面有什么问题:
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
答案 0 :(得分:0)
我能够使用以下脚本解决我的目的:
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
}
感谢大家的支持!!