我有一个foreach的多个结果,我需要将它们粘在一个表中。
我目前的结果是:
用户Johnny是一位培训师
用户Mark是培训师
用户Bob是足球运动员
用户fred是一名足球运动员
用户Moe是一名足球运动员
这来自foreach循环:
foreach ($user in $trainer)
{
Write-Host "The user $user.Name is a $user.Type"
#For email $body+= "The user " + $user.Name + " is a " + $user.Type +"<br/>"
}
继续($user in $footballers)
,......
我想要实现的是通过邮件发送给我的一个很好的表,看起来有点像这样:
如何在PowerShell中为每个循环向多个表添加结果?
答案 0 :(得分:2)
您编写的代码实际上无法正常工作,您需要使用子表达式运算符$()
,如下所示才能访问对象属性:
Write-Host "The user $($user.Name) is a $($user.Type)"
似乎$trainer
已经是具有Name
和Type
属性的对象所以(在foreach
循环之外)它应该是一个简单的例子:< / p>
$Body = $trainer | Select Name,Type | ConvertTo-HTML
Send-MailMessage -Body $Body -BodyAsHtml # other parameters, e.g to/from
此外,如果您有多个具有相同属性的对象,您可以先将它们与加法运算符合并:
$athlete = $trainer + $footballer