ConvertTo-Html

Converte objetos .NET em HTML que podem ser exibidos em um navegador da Web.

Sintaxe

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>]

Description

O ConvertTo-Html cmdlet converte objetos .NET em HTML que podem ser exibidos em um navegador da Web. Você pode usar este cmdlet para exibir a saída de um comando em uma página da Web.

Você pode usar os parâmetros de para selecionar propriedades de objeto, especificar um formato de ConvertTo-Html tabela ou lista, especificar o título da página HTML, adicionar texto antes e depois do objeto e retornar apenas a tabela ou fragmento de lista, em vez de uma página DTD estrita.

Quando você envia vários objetos para ConvertTo-Htmlo , o PowerShell cria a tabela (ou lista) com base nas propriedades do primeiro objeto que você envia. Se os objetos restantes não tiverem uma das propriedades especificadas, o valor da propriedade do objeto será uma célula vazia. Se os objetos restantes têm propriedades adicionais, os valores de propriedade não são incluídos no arquivo.

Exemplos

Exemplo 1: Criar uma página da Web para exibir a data

ConvertTo-Html -InputObject (Get-Date)

Este comando cria uma página HTML que exibe as propriedades da data atual. Ele usa o parâmetro InputObject para enviar os resultados de um Get-Date comando para o ConvertTo-Html cmdlet.

Exemplo 2: Criar uma página da Web para exibir aliases do PowerShell

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

Esse comando cria uma página HTML que lista os aliases do PowerShell no console atual.

O comando usa o Get-Alias cmdlet para obter os aliases. Ele usa o operador de pipeline (|) para enviar os aliases para o ConvertTo-Html cmdlet, que cria a página HTML. O comando também usa o Out-File cmdlet para enviar o código HTML para o aliases.htm arquivo.

Exemplo 3: Criar uma página da Web para exibir eventos do PowerShell

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

Esse comando cria uma página HTML chamada pslog.htm que exibe os eventos no log de eventos do Windows PowerShell no computador local.

Ele usa o Get-EventLog cmdlet para obter os eventos no log do Windows PowerShell e, em seguida, usa o operador de pipeline (|) para enviar os eventos para o ConvertTo-Html cmdlet. O comando também usa o Out-File cmdlet para enviar o código HTML para o pslog.htm arquivo.

O comando também usa o Out-File cmdlet para enviar o código HTML para o pslog.htm arquivo.

Exemplo 4: Criar uma página da Web para exibir processos

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

Esses comandos criam e abrem uma página HTML que lista o nome, o caminho e a empresa dos processos no computador local.

O primeiro comando usa o Get-Process cmdlet para obter objetos que representam os processos em execução no computador. O comando usa o operador de pipeline (|) para enviar os objetos de processo para o ConvertTo-Html cmdlet.

O comando usa o parâmetro Property para selecionar três propriedades dos objetos de processo a serem incluídos na tabela. O comando usa o parâmetro Title para especificar um título para a página HTML. O comando também usa o Out-File cmdlet para enviar o HTML resultante para um arquivo chamado Proc.htm.

O segundo comando usa o Invoke-Item cmdlet para abrir o Proc.htm no navegador padrão.

Exemplo 5: Criar uma página da Web para exibir objetos de serviço

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" />
...

Esse comando cria uma página HTML dos objetos de serviço que o Get-Service cmdlet retorna. O comando usa o parâmetro CssUri para especificar uma folha de estilos em cascata para a página HTML.

O parâmetro CssUri adiciona uma marca adicional <link rel="stylesheet" type="text/css" href="test.css"> ao HTML resultante. O atributo HREF na marca contém o nome da folha de estilos.

Exemplo 6: Criar uma página da Web para exibir objetos de serviço

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

Esse comando cria uma página HTML dos objetos de serviço que o Get-Service cmdlet retorna. O comando usa o parâmetro As para especificar um formato de lista. O cmdlet Out-File envia o HTML resultante para o Services.htm arquivo.

Exemplo 7: Criar uma tabela da Web para a data atual

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>

Esse comando é usado ConvertTo-Html para gerar uma tabela HTML da data atual. O comando usa o Get-Date cmdlet para obter a data atual. Ele usa um operador de pipeline (|) para enviar os resultados para o ConvertTo-Html cmdlet.

O ConvertTo-Html comando inclui o parâmetro Fragment , que limita a saída a uma tabela HTML. Como resultado, os outros elementos de uma página HTML, como as tags e <BODY> , <HEAD> são omitidos.

Exemplo 8: Criar uma página da Web para exibir eventos do PowerShell

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

Esse comando usa o Get-EventLog cmdlet para obter eventos do log de eventos do Windows PowerShell.

Ele usa um operador de pipeline (|) para enviar os eventos para o ConvertTo-Html cmdlet, que converte os eventos em formato HTML.

O ConvertTo-Html comando usa o parâmetro Property para selecionar apenas as propriedades ID, Level e Task do evento.

Exemplo 9: Criar uma página da Web para exibir serviços especificados

$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

Esse comando cria e abre uma página da Web que exibe os serviços no computador que começam com A. Ele usa os parâmetros Title, Body, PreContent e PostContent para ConvertTo-Html personalizar a saída.

A primeira parte do comando usa o Get-Service cmdlet para obter os serviços no computador que começam com A. O comando usa um operador de pipeline (|) para enviar os resultados para o ConvertTo-Html cmdlet. O comando também usa o Out-File cmdlet para enviar a saída para o Services.htm arquivo.

Um ponto-e-vírgula (;) encerra o primeiro comando e inicia um segundo comando, que usa o Invoke-Item cmdlet para abrir o Services.htm arquivo no navegador padrão.

Exemplo 10: Definir as propriedades Meta e o conjunto de caracteres do HTML

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

Esse comando cria o HTML para uma página da Web com as metatags para atualização, autor e palavras-chave. O conjunto de caracteres da página é definido como UTF-8

Exemplo 11: Definir o HTML como DTD de transição XHTML

Get-Service | ConvertTo-HTML -Transitional

Este comando define o DOCTYPE HTML retornado para XHTML Transitional DTD

Parâmetros

-As

Determina se o objeto é formatado como uma tabela ou uma lista. Os valores válidos são Tabela e Lista. O valor padrão é Tabela.

O valor Table gera uma tabela HTML que se assemelha ao formato de tabela do PowerShell. A linha de cabeçalho exibe os nomes de propriedade. Cada linha da tabela representa um objeto e exibe os valores do objeto para cada propriedade.

O valor List gera uma tabela HTML de duas colunas para cada objeto que se assemelha ao formato de lista do PowerShell. A primeira coluna exibe o nome da propriedade. A segunda coluna exibe o valor da propriedade.

Tipo:String
Valores aceitos:Table, List
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Body

Especifica o texto a ser adicionado após a marca de abertura <BODY> . Por padrão, não há nenhum texto nessa posição.

Tipo:String[]
Cargo:3
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Charset

Especifica o texto a ser adicionado à marca de abertura <charset> . Por padrão, não há nenhum texto nessa posição.

Esse parâmetro foi introduzido no PowerShell 6.0.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-CssUri

Especifica o Uniform Resource Identifier (URI) da folha de estilos em cascata (CSS) que é aplicada ao arquivo HTML. O URI é incluído em um link de folha de estilos na saída.

Tipo:Uri
Aliases:cu, uri
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Fragment

Gera apenas uma tabela de HTML. As <HTML>tags , <HEAD>, <TITLE>e <BODY> e são omitidas.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Head

Especifica o conteúdo da <HEAD> marca. O padrão é <title\>HTML TABLE</title>. Se você usar o parâmetro Head , o parâmetro Title será ignorado.

Tipo:String[]
Cargo:1
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-InputObject

Especifica os objetos a serem representadas em HTML. Insira uma variável que contém os objetos ou digite um comando ou uma expressão que obtém os objetos.

Se você usar esse parâmetro para enviar vários objetos, como todos os serviços em um computador, ConvertTo-Html o criará uma tabela que exibirá as propriedades de uma coleção ou de uma matriz de objetos. Para criar uma tabela de objetos individuais, use o operador de pipeline para canalizar os objetos para ConvertTo-Html.

Tipo:PSObject
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Meta

Especifica o texto a ser adicionado à marca de abertura <meta> . Por padrão, não há nenhum texto nessa posição.

Esse parâmetro foi introduzido no PowerShell 6.0.

Tipo:Hashtable
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-PostContent

Especifica o texto a ser adicionado após a tag de fechamento </TABLE> . Por padrão, não há nenhum texto nessa posição.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-PreContent

Especifica o texto a ser adicionado antes da marca de abertura <TABLE> . Por padrão, não há nenhum texto nessa posição.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Property

Inclui as propriedades especificadas dos objetos no HTML. O valor do parâmetro Property pode ser uma nova propriedade calculada. A propriedade calculada pode ser um bloco de script ou uma tabela de hash. Os pares de chave-valor válidos são:

  • Name (ou rótulo) - <string> (adicionado no PowerShell 6.x)
  • Expression - <string> ou <script block>
  • FormatString - <string>
  • Width - <int32> - deve ser maior que 0
  • Alignment - o valor pode ser Left, Center, ou Right

Para obter mais informações, consulte about_Calculated_Properties.

Tipo:Object[]
Cargo:0
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Title

Especifica um título para o arquivo HTML, ou seja, o texto que aparece entre as <TITLE> tags.

Tipo:String
Cargo:2
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Transitional

Altera o DOCTYPE para XHTML Transitional DTD, o padrão DOCTYPE é XHTML Strict DTD.

Esse parâmetro foi introduzido no PowerShell 6.0.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

PSObject

Você pode canalizar qualquer objeto para esse cmdlet.

Saídas

String

Esse cmdlet retorna uma matriz de cadeias de caracteres HTML que representam o objeto convertido.

Observações

Para usar esse cmdlet, canalize um ou mais objetos para o cmdlet ou use o parâmetro InputObject para especificar o objeto. Quando a entrada consiste em vários objetos, a saída desses dois métodos é bastante diferente.

  • Quando você canaliza vários objetos para um cmdlet, o PowerShell envia os objetos para o cmdlet, um de cada vez. Como resultado, ConvertTo-Html cria uma tabela que exibe os objetos individuais. Por exemplo, se você canalizar os processos em um computador para ConvertTo-Htmlo , a tabela resultante exibirá todos os processos.

  • Quando você usa o parâmetro InputObject para enviar vários objetos, ConvertTo-Html recebe esses objetos como uma coleção ou como uma matriz. Como resultado, ele cria uma tabela que exibe a matriz e suas propriedades, não os itens na matriz. Por exemplo, se você usar InputObject para enviar os processos em um computador para ConvertTo-Htmlo , a tabela resultante exibirá uma matriz de objetos e suas propriedades.

    Para estar em conformidade com o XHTML Strict DTD, a DOCTYPE tag é modificada de acordo:

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