在HTML报告中获取服务名称

时间:2017-05-08 10:05:19

标签: powershell service

我正在开发一个简单的解决方案,如果我的远程服务器上停止了任何服务,则需要发送电子邮件警报。

以下是流程:

  1. 在记事本文件中写下我要监控的所有服务
  2. PowerShell脚本将读取文件中的所有服务,并检查其状态。
  3. 如果停止了任何服务,它会将内容添加到我的HTML格式并发送电子邮件。
  4. 根据预期,一切正常,但我得到System.ServiceProcess.ServiceController而不是实际的服务名称。我在PowerShell控制台上打印东西,然后我得到了服务名称。

    代码:

    $Services = Get-Content D:\Services.txt
    foreach ($Service in $Services) {
        Write-Host "Service Name: "$Service
    }
    

    执行此操作时,我按预期获取服务名称。

    if ($Service.Status -eq "Stopped") {
        Write-Host "Service is stopped"
        $dataRow = "<tr><td width='10%'>199.199.50.512</td><td width='10%' >$Service</td><td width='10%' align='center'>Stopped</td></tr>"
        Add-Content $ServiceReport $dataRow;
    }
    

    在这里编写了$Service,我正在预订我的服务名称,但我在HTML报告中收到了System.ServiceProcess.ServiceController

    HTML报告:

    Wrong HTML Report

0 个答案:

没有答案