我有一个-OutVariable outputValue
我知道-OutVariable
创建了ArrayList对象。
我可以像这样很好地输出它,并且我正确地获得了输出:
$outputValue
或
$($outputValue)
现在,我正在尝试将变量输出发送到电子邮件正文中。我也不希望它显示在控制台上。
Send-MailMessage -From $FromEm -Subject $Subject -To "user@domain.com" -Body $outputValue -BodyAsHtml -SmtpServer $SmtpServer -Port $Port -Credential $Creds -UseSsl
Send_mailMessage
将不接受像这样的ArrayList变量。所以我在这里搜索并找到了这篇文章,我可以先将其转换为字符串
https://stackoverflow.com/a/23510150/8397835
$outputValue = $($outputValue -join '')
但是,这是我从电子邮件中得到的信息:
Microsoft.PowerShell.Commands.Internal.Format.FormatStartDataMicrosoft.PowerShell.Commands.Internal.Format.GroupStartDataMicrosoft.PowerShell.Commands.Internal.Format.FormatEntryDataMicrosoft.PowerShell.Commands.Internal.Format.GroupEndDataMicrosoft.PowerShell.Commands.Internal .Format.FormatEndData
为什么不保留原始值?
我希望这在电子邮件正文中(当然忽略bg颜色):