PowerShell中一个表中的多个foreach循环的结果

时间:2017-04-18 13:01:59

标签: html powershell

我有一个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),......

的所有类型

我想要实现的是通过邮件发送给我的一个很好的表,看起来有点像这样: enter image description here

如何在PowerShell中为每个循环向多个表添加结果?

1 个答案:

答案 0 :(得分:2)

您编写的代码实际上无法正常工作,您需要使用子表达式运算符$(),如下所示才能访问对象属性:

Write-Host "The user $($user.Name) is a $($user.Type)"

似乎$trainer已经是具有NameType属性的对象所以(在foreach循环之外)它应该是一个简单的例子:< / p>

$Body = $trainer | Select Name,Type | ConvertTo-HTML
Send-MailMessage -Body $Body -BodyAsHtml # other parameters, e.g to/from

此外,如果您有多个具有相同属性的对象,您可以先将它们与加法运算符合并:

$athlete = $trainer + $footballer