PowerShell HTML输出无法正确显示

时间:2013-05-21 08:42:34

标签: html powershell scripting

我有这个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正在运行

我是否可以采取任何措施来反对这一不合时宜的名单。

提前致谢

1 个答案:

答案 0 :(得分:1)

尝试写入$()

$($_.Name)

在字符串(双引号)中,您需要以这种方式强制属性变量扩展。