我有这个PowerShell脚本输出到HTML。下面是代码片段。
#Services Check
Write-Host "Services Check"
$html = $html + @"
<h3>Services Checks</h3>
<table>
<tr>
<th>Name</th>
<th>Result</th>
</tr>
"@
get-service -computername server01 -Name *service* |
foreach-object{
if($_.Status -ne "Running"){
Write-Host $_.Name "is not running" -ForegroundColor "red"
$html = $html + @"
<tr>
<td class="name">$_.Name</td>
<td class="red">is not running</td>
</tr>
"@
}else{
Write-Host $_.Name "is running" -ForegroundColor "green"
$html = $html + @"
<tr>
<td class="name">$_.Name</td>
<td class="green">is running</td>
</tr>
"@
}
}
$html = $html + "</table>"
我的问题是在PS控制台输出上它列出了teh服务的名称,但在HTML输出中它的结果如下(表格格式)。
服务检查 System.ServiceProcess.ServiceController.Name正在运行
我是否可以采取任何措施来反对这一不合时宜的名单。
提前致谢
答案 0 :(得分:1)
尝试写入$()
:
$($_.Name)
在字符串(双引号)中,您需要以这种方式强制属性变量扩展。