我正在研究一个Powershell脚本,该脚本从数据库中提取一些电子邮件属性,并以表格格式显示它们。我已经能够很容易地格式化实际数据,但是当我使用对象的属性作为标题时,我正在努力尝试将格式应用于它们(即,粗体或下划线HTML标签)。
我尝试在调用它们时修改实际属性(即第2行),但是由于对象不包含任何会失败的属性,例如 Domain 。而且我知道我无法将格式应用于赋值行,因为那样便无法编译(即“一些html + $ Result。'服务位置” +“ /一些html”)
我的代码示例如下...
foreach($email in $api_call.data){
$Result = "" | Select Type, Domains, 'Service Location', 'Webmail URL', 'SPF-Enabled'
$Result.Type = $email.attributes.traits.'type' + "<br>"
$Result.Domains = $email.attributes.traits.'domain-s'.values.name + "<br>"
$Result.'Service Location' = $email.attributes.traits.'service-location' + "<br>"
$Result.'Webmail URL' = $email.attributes.traits.'webmail-url' + "<br>"
$Result.'SPF-Enabled' = $email.attributes.traits.'spf-enabled' + "<br>"
$Array += $Result
我的目标是这样输出的:
HTML类型/ HTML:Office 365
HTML域/ HTML:somedomain
HTML服务位置/ HTML:云
HTML Webmail URL / HTML:https://outlook.office.com/owa/
启用HTML SPF的/ HTML:
谁能给我一些实现此目标的想法?非常感谢!
答案 0 :(得分:0)
为什么不尝试使用PowerShell自定义对象?
$Result = foreach($email in $api_call.data){
[PSCustomObject]@{
Type = $email.attributes.traits.'type' + "<br>"
Domains = $email.attributes.traits.'domain-s'.values.name + "<br>"
'Service Location' = $email.attributes.traits.'service-location' + "<br>"
'Webmail URL' = $email.attributes.traits.'webmail-url' + "<br>"
'SPF-Enabled' = $email.attributes.traits.'spf-enabled' + "<br>"
}
}
此结果将作为集合存储在$ Result变量中,您可以将其格式化为表$Result | format-table -autosize
或将其导出为CSV:$Result | Export-CSV -path C:\SomeDir\FileName.csv
。
注意:我不确定变量包含哪些内容或要输入什么值,但这是使用PSCustomObject的语法。 您也可以查看该文章,以获得更好的理解:
希望有帮助!