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 pode ser exibido em um navegador da Web. Você pode usar esse 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 tabela ou lista, especificar o título da página HTML, adicionar texto antes e depois do objeto e retornar apenas o fragmento de ConvertTo-Html
tabela ou lista, em vez de uma página DTD estrita.
Quando você envia vários objetos para o ConvertTo-Html
, o PowerShell cria a tabela (ou lista) com base nas propriedades do primeiro objeto enviado. Se os objetos restantes não tiverem uma das propriedades especificadas, o valor da propriedade desse objeto será uma célula vazia. Se os objetos restantes tiverem propriedades adicionais, esses valores de propriedade não serão incluídos no arquivo.
Exemplos
Exemplo 1: Criar uma página Web para apresentar 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
Este 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
Este 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" />
...
Este 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 tag adicional <link rel="stylesheet" type="text/css" href="test.css">
ao HTML resultante. O atributo HREF na tag 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
Este 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>
Este comando usa 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 <HEAD>
tags e <BODY>
, 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
Este 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 cmdlet, que converte os eventos para o ConvertTo-Html
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
Este comando cria e abre uma página Web que apresenta 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 (;
) termina 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 Charset do HTML
Get-Service | ConvertTo-HTML -Meta @{
refresh=10
author="Author's Name"
keywords="PowerShell, HTML, ConvertTo-HTML"
} -Charset "UTF-8"
Este comando cria o HTML para uma página da Web com as metatags para atualização, autor e palavras-chave. O charset para a página é definido como UTF-8
Exemplo 11: Definir o HTML como XHTML Transitional DTD
Get-Service | ConvertTo-HTML -Transitional
Este comando define o DOCTYPE
HTML retornado como XHTML Transitional DTD
Parâmetros
-As
Determina se o objeto está formatado como uma tabela ou uma lista. Os valores válidos são Tabela e Lista. O valor padrão é Table.
O valor Table gera uma tabela HTML semelhante ao formato de tabela do PowerShell. A linha de cabeçalho exibe os nomes das propriedades. 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 semelhante 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 aceites: | Table, List |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Body
Especifica o texto a ser adicionado após a tag de abertura <BODY>
. Por padrão, não há texto nessa posição.
Tipo: | String[] |
Position: | 3 |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Charset
Especifica o texto a ser adicionado à tag de abertura <charset>
. Por padrão, não há texto nessa posição.
Esse parâmetro foi introduzido no PowerShell 6.0.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-CssUri
Especifica o URI (Uniform Resource Identifier) 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 |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Fragment
Gera apenas uma tabela HTML. As <HTML>
tags , <HEAD>
, <TITLE>
, e são <BODY>
omitidas.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Head
Especifica o <HEAD>
conteúdo da tag . A predefinição é <title\>HTML TABLE</title>
. Se você usar o parâmetro Head , o parâmetro Title será ignorado.
Tipo: | String[] |
Position: | 1 |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-InputObject
Especifica os objetos a serem representados em HTML. Insira uma variável que contenha os objetos ou digite um comando ou expressão que obtenha os objetos.
Se você usar esse parâmetro para enviar vários objetos, como todos os serviços em um computador, ConvertTo-Html
criará uma tabela que exibirá as propriedades de uma coleção ou de uma matriz de objetos. Para criar uma tabela dos objetos individuais, use o operador de pipeline para canalizar os objetos para ConvertTo-Html
.
Tipo: | PSObject |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-Meta
Especifica o texto a ser adicionado à tag de abertura <meta>
. Por padrão, não há texto nessa posição.
Esse parâmetro foi introduzido no PowerShell 6.0.
Tipo: | Hashtable |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-PostContent
Especifica o texto a ser adicionado após a tag de fechamento </TABLE>
. Por padrão, não há texto nessa posição.
Tipo: | String[] |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-PreContent
Especifica o texto a ser adicionado antes da tag de abertura <TABLE>
. Por padrão, não há texto nessa posição.
Tipo: | String[] |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | 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 hash. Os pares 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 superior a0
Alignment
- o valor pode serLeft
,Center
ouRight
Para obter mais informações, consulte about_Calculated_Properties.
Tipo: | Object[] |
Position: | 0 |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Title
Especifica um título para o arquivo HTML, ou seja, o texto que aparece entre as <TITLE>
tags.
Tipo: | String |
Position: | 2 |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | 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 |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Entradas
Você pode canalizar qualquer objeto para este cmdlet.
Saídas
Este cmdlet retorna uma matriz de cadeias de caracteres HTML que representam o objeto convertido.
Notas
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 paraConvertTo-Html
, 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 paraConvertTo-Html
, 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"\>