2017-04-18 43 views
-2

我有一个foreach的多个结果,我需要将它们粘贴到一个表中。PowerShell中一个表中多个foreach循环的结果

我现在的结果是:

  • 用户约翰尼是一个教练

  • 用户的标志是教练

  • 用户Bob是一名足球运动员,

  • 的用户fred是一名足球运动员

  • 用户萌是一名足球运动员,

这个来自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/>" 
} 

而且这正好为所有类型的foreach ($user in $footballers),....

我试图达到的目的是通过邮件向我发送一张漂亮的表格,看上去有点像这样: enter image description here

H我可以将结果添加到PowerShell中每个循环的多个表中吗?

+4

大概不会,但如果我猜我会说这是由于缺少[MCVE]在您的题。 –

+0

多数民众赞成在我认为直BS我做了我可以解释我的问题的一切 –

+1

解释这个问题是重要的,但不是唯一的用于定义价值的指标。我认为问题在于,您显示的是向控制台写文本,错误地关注您,但您要求的是似乎没有实际制作样式的HTML表格。有很多将对象转换为HTML的例子,它们通常用'ConvertTo-HTML'来表示。 – Matt

回答

2

书面将无法正常实际工作,你需要使用的子表达式运算符$()如以访问对象属性如下您的代码:

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

似乎$trainer已经是与Name对象和Type性能左右(foreach循环外)应该是这样做的一个简单的例子:

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

此外,如果你甲肝Ë具有相同属性的多个对象,你可以只先用加法运算符将它们组合起来:

$athlete = $trainer + $footballer 
+0

非常感谢,我用你的方法到达那里。然而,布局是绝对丑陋的。有没有办法对表格的布局做些什么? –

+1

这就是CSS的发明。 –

+1

您也可以使用CovertTo-HTML的'-Head'属性来添加HTML'Style'标签的HTML块。 –

相关问题