怎么才能得到更好的PowerShell输出格式呢?
这是一个常见的问题,但是并没有十分精确的答案。
首先,来看看下面的命令:
Get-Process | Select-Object –Property Name,ID,VM,PM,CPU | Format-Table
除非你使用了格式命令,我给出的这个例子显示了PowerShell本地格式化系统处理任何命令的PowerShell输出的方式。你会得到相同而且相当原始的功能。如果你想给老板递上一份令人惊叹的报告,降低你的期望吧,PowerShell可不是为此设计的。
HTML为你做更多:
Get-Process |
Select-Object –Property Name,ID,VM,PM,CPU |
ConvertTo-HTML –Title " Report" –CssUri http://intranet/admins/style.css |
Out-File intranetwwwdocsadminsprocreport.html
该命令将PowerShell输出结果转换为HTML表格,并添加了一个好标题,以及一个提供可视化格式的样式表的链接。记住,这种方法是目前做的最好的了。产生的HTML相当简单,除非加入JavaScript代码,你只能做这么多。
另外也有其他的方法:一种是生成具有多个部分的HTML报告,包含动态表和更丰富的可视化格式。但其仍然是一个HTML文件,因此它可以在内部网Web服务器上查看或被附加到电子邮件。
另外一种方法就是将数据插入到SQL Server(免费的Express版本也可以)表格中,使用SQL Server报表服务(也是免费的) 生成深度格式化的报告。第二种方法适用于传输报告和其他历史数据,但是需要少量编程。