当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] ConvertTo-Html (Microsoft.PowerShell.Utility)

作者:精品下载站 日期:2024-12-14 02:08:14 浏览:17 分类:玩电脑

ConvertTo-Html (Microsoft.PowerShell.Utility)


ConvertTo-Html

模块 :Microsoft.PowerShell.Utility

将 .NET 对象转换为可在 Web 浏览器中显示的 HTML。

句法

ConvertTo-Html
              [-InputObject <PSObject>]
              [[-Property] <Object[]>]
              [[-Body] <String[]>]
              [[-Head] <String[]>]
              [[-Title] <String>]
              [-As <String>]
              [-CssUri <Uri>]
              [-PostContent <String[]>]
              [-PreContent <String[]>]
              [-Meta <Hashtable>]
              [-Charset <String>]
              [-Transitional]
              [<CommonParameters>]
ConvertTo-Html
              [-InputObject <PSObject>]
              [[-Property] <Object[]>]
              [-As <String>]
              [-Fragment]
              [-PostContent <String[]>]
              [-PreContent <String[]>]
              [<CommonParameters>]

描述

ConvertTo-Html cmdlet 将 .NET 对象转换为可在 Web 浏览器中显示的 HTML。您可以使用此 cmdlet 在网页中显示命令的输出。

您可以使用 ConvertTo-Html 的参数来选择对象属性、指定表格或列表格式、指定 HTML 页面标题、在对象前后添加文本以及仅返回表或列表片段,而不是严格的 DTD 页面。

当您向 ConvertTo-Html 提交多个对象时,PowerShell 会根据您提交的第一个对象的属性创建表(或列表)。如果其余对象不具有指定属性之一,则该对象的属性值为空单元格。如果其余对象具有其他属性,则这些属性值不会包含在文件中。

示例

示例1:创建一个网页来显示日期

ConvertTo-Html -InputObject (Get-Date)

此命令创建一个 HTML 页面,显示当前日期的属性。它使用 InputObject 参数将 Get-Date 命令的结果提交给 ConvertTo-Html cmdlet。

示例 2:创建一个网页来显示 PowerShell 别名

Get-Alias | ConvertTo-Html | Out-File aliases.htm
Invoke-Item aliases.htm

此命令创建一个 HTML 页面,其中列出当前控制台中的 PowerShell 别名。

该命令使用 Get-Alias cmdlet 来获取别名。它使用管道运算符 (|) 将别名发送到 ConvertTo-Html cmdlet,后者创建 HTML 页面。该命令还使用 Out-File cmdlet 将 HTML 代码发送到 aliases.htm 文件。

示例 3:创建一个网页来显示 PowerShell 事件

Get-EventLog -LogName "Windows PowerShell" | ConvertTo-Html | Out-File pslog.htm

此命令创建一个名为 pslog.htm 的 HTML 页面,该页面显示本地计算机上 Windows PowerShell 事件日志中的事件。

它使用 Get-EventLog cmdlet 获取 Windows PowerShell 日志中的事件,然后使用管道运算符 (|) 将事件发送到 ConvertTo- Html cmdlet。该命令还使用 Out-File cmdlet 将 HTML 代码发送到 pslog.htm 文件。

该命令还使用 Out-File cmdlet 将 HTML 代码发送到 pslog.htm 文件。

示例4:创建一个网页来显示进程

Get-Process |
  ConvertTo-Html -Property Name, Path, Company -Title "Process Information" |
    Out-File proc.htm
Invoke-Item proc.htm

这些命令创建并打开一个 HTML 页面,其中列出了本地计算机上进程的名称、路径和公司。

第一个命令使用 Get-Process cmdlet 来获取表示计算机上运行的进程的对象。该命令使用管道运算符 (|) 将流程对象发送到 ConvertTo-Html cmdlet。

该命令使用Property参数来选择要包含在表中的过程对象的三个属性。该命令使用 Title 参数指定 HTML 页面的标题。该命令还使用 Out-File cmdlet 将生成的 HTML 发送到名为 Proc.htm 的文件。

第二个命令使用 Invoke-Item cmdlet 在默认浏览器中打开 Proc.htm

示例 5:创建一个网页来显示服务对象

Get-Service | ConvertTo-Html -CssUri "test.css"

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>HTML TABLE</title>
<link rel="stylesheet" type="text/css" href="test.css" />
...

此命令创建 Get-Service cmdlet 返回的服务对象的 HTML 页面。该命令使用 CssUri 参数指定 HTML 页面的级联样式表。

CssUri 参数向生成的 HTML 添加额外的 <link rel="stylesheet" type="text/css" href="test.css"> 标记。标记中的 HREF 属性包含样式表的名称。

示例 6:创建一个网页来显示服务对象

Get-Service | ConvertTo-Html -As LIST | Out-File services.htm

此命令创建 Get-Service cmdlet 返回的服务对象的 HTML 页面。该命令使用As参数指定列表格式。 cmdlet Out-File 将生成的 HTML 发送到 Services.htm 文件。

示例 7:创建当前日期的 Web 表

Get-Date | ConvertTo-Html -Fragment

<table>
<colgroup>...</colgroup>
<tr><th>DisplayHint</th><th>DateTime</th><th>Date</th><th>Day</th><th>DayOfWeek</th><th>DayOfYear</th><th>Hour</th>
<th>Kind</th><th>Millisecond</th><th>Minute</th><th>Month</th><th>Second</th><th>Ticks</th><th>TimeOfDay</th><th>Year</th></tr>
<tr><td>DateTime</td><td>Monday, May 05, 2008 10:40:04 AM</td><td>5/5/2008 12:00:00 AM</td><td>5</td><td>Monday</td>
<td>126</td><td>10</td><td>Local</td><td>123</td><td>40</td><td>5</td><td>4</td><td>633455808041237213</td><td>10:40:04.12
37213</td><td>2008</td></tr>
</table>

此命令使用 ConvertTo-Html 生成当前日期的 HTML 表。该命令使用 Get-Date cmdlet 来获取当前日期。它使用管道运算符 (|) 将结果发送到 ConvertTo-Html cmdlet。

ConvertTo-Html 命令包含 Fragment 参数,该参数将输出限制为 HTML 表。因此,HTML 页面的其他元素(例如 <HEAD><BODY> 标记)将被省略。

示例 8:创建一个网页来显示 PowerShell 事件

Get-EventLog -Log "Windows PowerShell" | ConvertTo-Html -Property id, level, task

此命令使用 Get-EventLog cmdlet 从 Windows PowerShell 事件日志中获取事件。

它使用管道运算符 (|) 将事件发送到 ConvertTo-Html cmdlet,后者将事件转换为 HTML 格式。

ConvertTo-Html 命令使用 Property 参数仅选择 ID级别任务 事件的属性。

示例9:创建一个网页来显示指定的服务

$htmlParams = @{
  Title = "Windows Services: Server01"
  Body = Get-Date
  PreContent = "<P>Generated by Corporate IT</P>"
  PostContent = "For details, contact Corporate IT."
}
Get-Service A* |
  ConvertTo-Html @htmlParams |
    Out-File Services.htm
Invoke-Item Services.htm

此命令创建并打开一个网页,其中显示计算机上以 A 开头的服务。它使用 ConvertTo-Html的 strongTitle/strong、strongBody/strong、strongPreContent/strong 和 strongPostContent/strong 参数> 自定义输出。

该命令的第一部分使用 Get-Service cmdlet 获取计算机上以 A 开头的服务。该命令使用管道运算符 (|) 将结果发送到 ConvertTo-Html cmdlet。该命令还使用 Out-File cmdlet 将输出发送到 Services.htm 文件。

分号 (;) 结束第一个命令并启动第二个命令,该命令使用 Invoke-Item cmdlet 打开 Services.htm 文件在默认浏览器中。

示例 10:设置 HTML 的 Meta 属性和 Charset

Get-Service | ConvertTo-HTML -Meta @{
  refresh=10
  author="Author's Name"
  keywords="PowerShell, HTML, ConvertTo-HTML"
} -Charset "UTF-8"

此命令使用刷新、作者和关键字的元标记创建网页的 HTML。页面的字符集设置为 UTF-8

示例 11:将 HTML 设置为 XHTML 过渡 DTD

Get-Service | ConvertTo-HTML -Transitional

此命令将返回的 HTML 的 DOCTYPE 设置为 XHTML Transitional DTD

参数

-As

确定对象的格式是表格还是列表。有效值为表格列表。默认值为表格

Table 值生成类似于 PowerShell 表格格式的 HTML 表格。标题行显示属性名称。每个表行代表一个对象并显示该对象的每个属性的值。

List 值会为每个对象生成一个类似于 PowerShell 列表格式的两列 HTML 表格。第一列显示属性名称。第二列显示属性值。

类型 :

String

接受的值:

表格、列表

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Body

指定要在开始 <BODY> 标记后添加的文本。默认情况下,该位置没有文本。

类型 :

String[]

位置:

3

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Charset

指定要添加到开始 <charset> 标记的文本。默认情况下,该位置没有文本。

此参数是在 PowerShell 6.0 中引入的。

类型 :

String

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-CssUri

指定应用于 HTML 文件的级联样式表 (CSS) 的统一资源标识符 (URI)。 URI 包含在输出的样式表链接中。

类型 :

乌里

别名:

cu, uri

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Fragment

仅生成 HTML 表格。省略 <HTML><HEAD><TITLE><BODY> 标记。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Head

指定 <HEAD> 标记的内容。默认为 <title\>HTML TABLE</title>。如果您使用 Head 参数,则 Title 参数将被忽略。

类型 :

String[]

位置:

1

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-InputObject

指定要以 HTML 表示的对象。输入包含对象的变量或键入获取对象的命令或表达式。

如果您使用此参数提交多个对象(例如计算机上的所有服务),ConvertTo-Html 将创建一个表来显示集合或对象数组的属性。要创建各个对象的表,请使用管道运算符将对象通过管道传输到 ConvertTo-Html

类型 :

PS对象

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-Meta

指定要添加到开始 <meta> 标记的文本。默认情况下,该位置没有文本。

此参数是在 PowerShell 6.0 中引入的。

类型 :

哈希表

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-PostContent

指定要在结束 </TABLE> 标记后添加的文本。默认情况下,该位置没有文本。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-PreContent

指定要在开始 <TABLE> 标记之前添加的文本。默认情况下,该位置没有文本。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Property

包括 HTML 中对象的指定属性。 Property 参数的值可以是新的计算属性。计算的属性可以是脚本块或哈希表。有效的键值对是:

  • 名称(或标签)- <string>(在 PowerShell 6.x 中添加)
  • 表达式 - <字符串><脚本块>
  • 格式字符串 - <字符串>
  • 宽度 - <int32> - 必须大于0
  • 对齐方式 - 值可以是居中

有关详细信息,请参阅 about_Calculated_Properties。

类型 :

Object[]

位置:

0

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Title

指定 HTML 文件的标题,即出现在 <TITLE> 标记之间的文本。

类型 :

String

位置:

2

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Transitional

DOCTYPE 更改为 XHTML Transitional DTD,默认 DOCTYPEXHTML Strict DTD

此参数是在 PowerShell 6.0 中引入的。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

输入

PSObject

您可以通过管道将任何对象传递给此 cmdlet。

输出

字符串

此 cmdlet 返回表示转换对象的 HTML 字符串数组。

笔记

要使用此 cmdlet,请将一个或多个对象通过管道传递给该 cmdlet,或使用 InputObject 参数指定该对象。当输入由多个对象组成时,这两种方法的输出有很大不同。

  • 当您通过管道将多个对象发送到 cmdlet 时,PowerShell 一次将一个对象发送到 cmdlet。结果,ConvertTo-Html 创建一个显示各个对象的表格。例如,如果您将计算机上的进程通过管道传输到 ConvertTo-Html,则生成的表格将显示所有进程。

  • 当您使用 InputObject 参数提交多个对象时,ConvertTo-Html 会以集合或数组的形式接收这些对象。结果,它创建一个表来显示数组及其属性,而不是数组中的项目。例如,如果您使用 InputObject 将计算机上的进程提交到 ConvertTo-Html,则生成的表将显示对象数组及其属性。

    为了符合 XHTML Strict DTD,DOCTYPE 标记进行了相应修改:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"\>

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯