Powershell创建简洁的HTML报告例子

 更新时间:2014年11月07日 09:38:32   投稿:junjie  
这篇文章主要介绍了Powershell创建简洁的HTML报告例子,本文先是讲解了实现的步骤,然后给出了实现代码,需要的朋友可以参考下

支持所有版本

把结果变成复杂的HTML报告,一个简单的方法是定义三个脚本块:一个用作HTML的开头文档,一个用作它的结尾,还有一个是存放动态对象的表格

接着,把这些脚本块传入到ForEach-Object,分别对应脚本的开始块、中间要处理的动态列表块和结束代码块。

下面有个简单的例子阐述如何用它创造一个服务报告:

复制代码 代码如下:

$path = "$env:temp\report.hta"
 
$beginning = {
 @'
    <html>
    <head>
    <title>Report</title>
    <STYLE type="text/css">
        h1 {font-family:SegoeUI, sans-serif; font-size:20}
        th {font-family:SegoeUI, sans-serif; font-size:15}
        td {font-family:Consolas, sans-serif; font-size:12}
 
    </STYLE>
 
    </head>
    <image src="https://www.jb51.net/yourlogo.gif" />
    <h1>System Report</h1>
    <table>
    <tr><th>Status</th><th>Name</th></tr>
'@
}
 
$process = {
    $status = $_.Status
    $name = $_.DisplayName
 
    if ($status -eq 'Running')
    {
        '<tr>'
        '<td bgcolor="#00FF00">{0}</td>' -f $status
        '<td bgcolor="#00FF00">{0}</td>' -f $name
        '</tr>'
    }
    else
    {
        '<tr>'
        '<td bgcolor="#FF0000">{0}</td>' -f $status
        '<td bgcolor="#FF0000">{0}</td>' -f $name
        '</tr>'
    }
}
 
 
$end = {
@'
    </table>
    </html>
    </body>
'@
 
 
}
 
 
Get-Service |
  ForEach-Object -Begin $beginning -Process $process -End $end |
  Out-File -FilePath $path -Encoding utf8
 
Invoke-Item -Path $path

相关文章

  • PowerShell中使用Out-String命令把对象转换成字符串输出的例子

    PowerShell中使用Out-String命令把对象转换成字符串输出的例子

    这篇文章主要介绍了PowerShell中使用Out-String命令把对象转换成字符串输出的例子,即把对象转为字符串的方法,需要的朋友可以参考下
    2014-08-08
  • Powershell中显示隐藏文件的方法

    Powershell中显示隐藏文件的方法

    这篇文章主要介绍了Powershell中显示隐藏文件的方法,本文使用是是Get-ChildItem检索文件,加上-Hidden参数就可以显示隐藏文件了,需要的朋友可以参考下
    2015-01-01
  • 探索PowerShell(七) PowerShell变量

    探索PowerShell(七) PowerShell变量

    在程序设计中,变量是最基本的概念,它是我们表示数据的在存储时的代号。在PowerShell中,变量通常供我们在脚本中使用,它可以是数字、字符、字符串,甚至是对象
    2012-12-12
  • Powershell小技巧之获取当前的时间并转换为时辰

    Powershell小技巧之获取当前的时间并转换为时辰

    这篇文章主要介绍了使用Powershell获取当前的时间并转换为时辰的方法,非常简单实用,有需要的朋友可以参考下
    2014-09-09
  • Windows Powershell属性:描述对象是什么

    Windows Powershell属性:描述对象是什么

    既然上文说明了对象=属性+方法,那么本文我们就先来探讨下属性。先从属性的概念入手,接着通过属性中包含对象、只读属性和读写属性、属性的类型、查看所有属性这4个方面详细向我们展示了对象。有需要的朋友展示下
    2014-09-09
  • PowerShell函数中限制数组参数个数的例子

    PowerShell函数中限制数组参数个数的例子

    这篇文章主要介绍了PowerShell中限制函数的数组参数个数的例子,可以控制数组的参数个数在指定范围内,需要的朋友可以参考下
    2014-07-07
  • Windows Powershell 创建数组

    Windows Powershell 创建数组

    在日常处理中,除了使用像“数值类型”和“字符串类型”外,还需要使用能够包含其他对象的“集合”类型。大多数常见语言,都提供一些操作集合类型的语法。最基本的集合类型就是数组类型,它提供了一种下标基于0的数组对象。
    2014-09-09
  • Windows Powershell Switch 语句

    Windows Powershell Switch 语句

    如果语句中有多路分支,使用IF-ELSEIF-ELSE不友好,可以使用Switch,看起来比较清爽一点。
    2014-10-10
  • 用PowerShell删除N天前或指定日期(前后)创建(或修改)的文件

    用PowerShell删除N天前或指定日期(前后)创建(或修改)的文件

    这篇文章主要介绍了用PowerShell删除N天前或指定日期(前后)创建(或修改)的文件,需要的朋友可以参考下
    2016-11-11
  • 探索PowerShell(十三) WMI对象介绍

    探索PowerShell(十三) WMI对象介绍

    我记得在xp时代,经常使用的工具有一个叫做WMI Administrative Tools,是微软官方提供的用来查看、编辑WMI对象的,只是现在好似不支持新的系统了
    2012-12-12

最新评论