Powershell创建简洁的HTML报告例子_PowerShell

支持所有版本

把结果变成复杂的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="http://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

时间: 2024-10-09 05:43:31

Powershell创建简洁的HTML报告例子_PowerShell的相关文章

PowerShell多线程执行前后台作业的例子_PowerShell

下面例子使用Powershell线程运行了两个后台任务和一个前台任务,创建几个运行时间长点的任务,并且每个任务命令中添加使用Start-Sleep. 复制代码 代码如下: $start = Get-Date $task1 = { Start-Sleep -Seconds 4; Get-Service }$task2 = { Start-Sleep -Seconds 5; Get-Service }$task3 = { Start-Sleep -Seconds 3; Get-Service } #

Windows Powershell 创建数组_PowerShell

在Powershell中创建数组可以使用逗号. PS C:Powershell> $nums=2,0,1,2 PS C:Powershell> $nums 2 0 1 2 对于连续的数字数组可以使用一个更快捷的方法 PS C:Powershell> $nums=1..5 PS C:Powershell> $nums 1 2 3 4 5 数组的多态 象变量一样如果数组中元素的类型为弱类型,默认可以存储不同类型的值. PS C:Powershell> $array=1,"

PowerShell中给函数参数设置帮助信息的例子_PowerShell

本文介绍在PowerShell创建自定义函数时,如何为必选参数设置帮助信息. 下面这段代码,我们创建了一个test-function的函数.这个函数有一个参数p,它是必选参数.更进一步,我们为这个参数$p设置了一个helpMessage属性,这个属性的意思就是为这个必须参数提供帮助信息.因为是必选参数,所以在不输入值的情况下,函数是不会执行,而会提示为参数输入值的.如果用户不知道应该为这个参数输入什么值,那么这个HelpMessage有可能帮到忙. 复制代码 代码如下: PS C:\Users\

图片-请问: 用java代码创建excel表格模板,例子如下怎么创建?

问题描述 请问: 用java代码创建excel表格模板,例子如下怎么创建? 解决方案 用poi类,先做好模板,用poi填写 解决方案二: package com.paic.gcc.service.offwork.util; import java.io.OutputStream; import java.lang.reflect.Field; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Li

Windows 10使用PowerShell创建系统还原点的技巧

我们在使用Win10系统的过程中,可能会碰到各种系统故障,当问题太过严重的时候,我们往往会通过系统还原来解决问题.今天小编将给大家分享一个系统还原的技巧,下面我们来看看Win10使用PowerShell创建系统还原点的方法步骤. 具体方法如下: 1.使用管理员模式打开PowerShell; 2.执行如下命令: Checkpoint-Computer -Description "XITONGZHIJIA" -RestorePointType "APPLICATION_INSTA

azure-话说,为什么要用powershell 创建虚拟机?

问题描述 话说,为什么要用powershell 创建虚拟机? 大家好!! 话说,为什么要用powershell 创建虚拟机? 谁给个解答?? 解决方案 powershell是一种脚本,脚本适合自动化和无人值守的操作.用来代替人工操作. 解决方案二: 你好, 当然你也可以通过Windows Azure Management Portal来创建虚拟机哦. 这种创建方式虽然直观简单,但是如果IT管理员需要同时创建1000台Azure服务的话,工作的代价是非常巨大的. 所以 就会用到Powershell

Powershell 查找用户的主SMTP地址_PowerShell

今天同事让我生成一个报表,列出用户的主SMTP地址后缀是@aus.ddb.com的用户. Get-ADUser可以直接获取相关信息,不过主SMTP是隐藏在ProxyAddress这个属性里面的,如果1个用户有多个邮件地址,大写的SMTP的那个就是主地址. 脚本如下,获取所有用户的信息,然后创建一个空对象,对每一个对象的属性进行处理,把对应的值放入对象, 最后过滤结果输出. $users = Get-ADUser -Filter {proxyAddresses -like '*'} -Search

Powershell小技巧之查询AD用户_PowerShell

假若你登录到了一个AD中你可以轻松的查询AD目录.在先前的技巧中我们阐述了一个基本脚本.这里有一个可以自定义根目录的扩展方法(设置你的查询点),它支持同步查询(而不是递归到一个容器). 它同时也阐述了怎么从一个活动目录查找结果再将其转化成用户对象: $SAMAccountName = 'tobias' $SearchRoot = 'LDAP://OU=customer,DC=company,DC=com' $SearchScope = 'OneLevel' $ldap = "(&(obj

PowerShell Out-File指定文件编码的方法_PowerShell

本文介绍使用PowerShell如何来创建一个文本文件,并且文本文件是使用UTF-8编码的. 要创建一个UTF-8编码的文件,不是一件容易的事情.想一想C#中创建一个UTF-8编码的文件洪哥就头疼. 后来,仔细想了一下,我们可以把这个概念偷换一下.我们可以使用Out-File这个cmdlet来输入字符串到一文件的方式来创建一个文件,并且在创建文件时,指定它的编码为UTF-8即可. 也就是说,使用如下命令我们就可以得到一个UTF-8编码的空文件了. 复制代码 代码如下: PS C:\Users\s