ConvertTo-Html
Convierte objetos .NET en HTML que se pueden mostrar en un explorador web.
Sintaxis
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
El ConvertTo-Html
cmdlet convierte objetos .NET en HTML que se pueden mostrar en un explorador web. Este cmdlet se puede usar para mostrar el resultado de un comando en una página web.
Puede usar los parámetros de para seleccionar propiedades de ConvertTo-Html
objeto, para especificar un formato de tabla o lista, para especificar el título de página HTML, para agregar texto antes y después del objeto, y para devolver solo la tabla o el fragmento de lista, en lugar de una página DTD estricta.
Al enviar varios objetos a ConvertTo-Html
, PowerShell crea la tabla (o lista) en función de las propiedades del primer objeto que envíe. Si los demás objetos no tienen una de las propiedades especificadas, el valor de propiedad de ese objeto es una celda vacía. Si los demás objetos tienen propiedades adicionales, esos valores de propiedad no se incluyen en el archivo.
Ejemplos
Ejemplo 1: Crear una página web para mostrar la fecha
ConvertTo-Html -InputObject (Get-Date)
Este comando crea una página HTML que muestra las propiedades de la fecha actual. Usa el parámetro InputObject para enviar los resultados de un Get-Date
comando al ConvertTo-Html
cmdlet .
Ejemplo 2: Creación de una página web para mostrar alias de PowerShell
Get-Alias | ConvertTo-Html | Out-File aliases.htm
Invoke-Item aliases.htm
Este comando crea una página HTML que enumera los alias de PowerShell en la consola actual.
El comando usa el Get-Alias
cmdlet para obtener los alias. Usa el operador de canalización (|
) para enviar los alias al ConvertTo-Html
cmdlet , que crea la página HTML. El comando también usa el Out-File
cmdlet para enviar el código HTML al aliases.htm
archivo.
Ejemplo 3: Creación de una página web para mostrar eventos de PowerShell
Get-EventLog -LogName "Windows PowerShell" | ConvertTo-Html | Out-File pslog.htm
Este comando crea una página HTML denominada pslog.htm
que muestra los eventos en el registro de eventos de Windows PowerShell en el equipo local.
Usa el Get-EventLog
cmdlet para obtener los eventos en el registro de Windows PowerShell y, a continuación, usa el operador de canalización (|
) para enviar los eventos al ConvertTo-Html
cmdlet . El comando también usa el Out-File
cmdlet para enviar el código HTML al pslog.htm
archivo.
El comando también usa el Out-File
cmdlet para enviar el código HTML al pslog.htm
archivo.
Ejemplo 4: Crear una página web para mostrar procesos
Get-Process |
ConvertTo-Html -Property Name, Path, Company -Title "Process Information" |
Out-File proc.htm
Invoke-Item proc.htm
Estos comandos crean y abren una página HTML que muestra el nombre, la ruta de acceso y la compañía de los procesos en el equipo local.
El primer comando usa el Get-Process
cmdlet para obtener objetos que representan los procesos que se ejecutan en el equipo. El comando usa el operador de canalización (|
) para enviar los objetos de proceso al ConvertTo-Html
cmdlet .
El comando usa el parámetro Property para seleccionar tres propiedades de los objetos de proceso que se incluirán en la tabla. El comando usa el parámetro Title para especificar un título para la página HTML. El comando también usa el Out-File
cmdlet para enviar el CÓDIGO HTML resultante a un archivo denominado Proc.htm
.
El segundo comando usa el Invoke-Item
cmdlet para abrir en Proc.htm
el explorador predeterminado.
Ejemplo 5: Crear una página web para mostrar objetos de servicio
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 crea una página HTML de los objetos de servicio que devuelve el Get-Service
cmdlet. El comando usa el parámetro CssUri para especificar una hoja de estilos en cascada para la página HTML.
El parámetro CssUri agrega una etiqueta adicional <link rel="stylesheet" type="text/css" href="test.css">
al CÓDIGO HTML resultante. El atributo HREF de la etiqueta contiene el nombre de la hoja de estilos.
Ejemplo 6: Crear una página web para mostrar objetos de servicio
Get-Service | ConvertTo-Html -As LIST | Out-File services.htm
Este comando crea una página HTML de los objetos de servicio que devuelve el Get-Service
cmdlet. El comando usa el parámetro As para especificar un formato de lista. El cmdlet Out-File
envía el código HTML resultante al Services.htm
archivo.
Ejemplo 7: Creación de una tabla web para la fecha actual
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 generar una tabla HTML de la fecha actual. El comando usa el Get-Date
cmdlet para obtener la fecha actual. Usa un operador de canalización (|
) para enviar los resultados al ConvertTo-Html
cmdlet .
El ConvertTo-Html
comando incluye el parámetro Fragment , que limita la salida a una tabla HTML. Como resultado, se omiten los demás elementos de una página HTML, como las <HEAD>
etiquetas y <BODY>
.
Ejemplo 8: Creación de una página web para mostrar eventos de PowerShell
Get-EventLog -Log "Windows PowerShell" | ConvertTo-Html -Property id, level, task
Este comando usa el Get-EventLog
cmdlet para obtener eventos del registro de eventos de Windows PowerShell.
Usa un operador de canalización (|
) para enviar los eventos al ConvertTo-Html
cmdlet , que convierte los eventos en formato HTML.
El ConvertTo-Html
comando usa el parámetro Property para seleccionar solo las propiedades ID, Level y Task del evento.
Ejemplo 9: Crear una página web para mostrar los servicios 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 crea y abre una página web que muestra los servicios en el equipo que comienzan por A
. Usa los parámetros Title, Body, PreContent y PostContent de ConvertTo-Html
para personalizar la salida.
La primera parte del comando usa el Get-Service
cmdlet para obtener los servicios en el equipo que comienzan por A
. El comando usa un operador de canalización (|
) para enviar los resultados al ConvertTo-Html
cmdlet . El comando también usa el Out-File
cmdlet para enviar la salida al Services.htm
archivo.
Un punto y coma (;
) finaliza el primer comando e inicia un segundo comando, que usa el Invoke-Item
cmdlet para abrir el Services.htm
archivo en el explorador predeterminado.
Ejemplo 10: Establecer las propiedades meta y el conjunto de caracteres del CÓDIGO HTML
Get-Service | ConvertTo-HTML -Meta @{
refresh=10
author="Author's Name"
keywords="PowerShell, HTML, ConvertTo-HTML"
} -Charset "UTF-8"
Este comando crea el CÓDIGO HTML para una página web con las etiquetas meta para actualizar, crear y palabras clave. El conjunto de caracteres de la página se establece en UTF-8.
Ejemplo 11: Establecer el CÓDIGO HTML en DTD de transición XHTML
Get-Service | ConvertTo-HTML -Transitional
Este comando establece el DOCTYPE
valor del CÓDIGO HTML devuelto en DTD de transición XHTML.
Parámetros
-As
Determina si el objeto tiene formato de tabla o lista. Los valores válidos son Table y List. El valor predeterminado es Table.
El valor table genera una tabla HTML similar al formato de tabla de PowerShell. La fila de encabezado muestra los nombres de propiedad. Cada fila de la tabla representa un objeto y muestra los valores de cada propiedad del objeto.
El valor List genera una tabla HTML de dos columnas para cada objeto similar al formato de lista de PowerShell. La primera columna muestra el nombre de la propiedad. La segunda columna muestra el valor de propiedad.
Tipo: | String |
Valores aceptados: | Table, List |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Body
Especifica el texto que se va a agregar después de la etiqueta de apertura <BODY>
. De forma predeterminada, no hay ningún texto en esa posición.
Tipo: | String[] |
Posición: | 3 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Charset
Especifica el texto que se va a agregar a la etiqueta de apertura <charset>
. De forma predeterminada, no hay ningún texto en esa posición.
Este parámetro se introdujo en PowerShell 6.0.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CssUri
Especifica el identificador uniforme de recursos (URI) de la hoja de estilos en cascada (CSS) que se aplica al archivo HTML. El URI se incluye en un vínculo de hoja de estilos en el resultado.
Tipo: | Uri |
Alias: | cu, uri |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Fragment
Genera solo una tabla HTML. Se omiten las <HTML>
etiquetas , <HEAD>
, <TITLE>
y <BODY>
.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Head
Especifica el contenido de la <HEAD>
etiqueta. El valor predeterminado es <title\>HTML TABLE</title>
. Si usa el parámetro Head , se omite el parámetro Title .
Tipo: | String[] |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-InputObject
Especifica los objetos que se representarán en HTML. Especifique una variable que contenga los objetos, o escriba un comando o una expresión que obtenga los objetos.
Si usa este parámetro para enviar varios objetos, como todos los servicios de un equipo, ConvertTo-Html
crea una tabla que muestra las propiedades de una colección o de una matriz de objetos. Para crear una tabla de los objetos individuales, use el operador de canalización para canalizar los objetos a ConvertTo-Html
.
Tipo: | PSObject |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Meta
Especifica el texto que se va a agregar a la etiqueta de apertura <meta>
. De forma predeterminada, no hay ningún texto en esa posición.
Este parámetro se introdujo en PowerShell 6.0.
Tipo: | Hashtable |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-PostContent
Especifica el texto que se va a agregar después de la etiqueta de cierre </TABLE>
. De forma predeterminada, no hay ningún texto en esa posición.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-PreContent
Especifica el texto que se va a agregar antes de la etiqueta de apertura <TABLE>
. De forma predeterminada, no hay ningún texto en esa posición.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Property
Incluye las propiedades especificadas de los objetos en el código HTML. El valor del parámetro Property puede ser una nueva propiedad calculada. La propiedad calculada puede ser un bloque de script o una tabla hash. Los pares clave-valor válidos son:
Name
(o etiqueta):<string>
(agregado en PowerShell 6.x)Expression
-<string>
o<script block>
FormatString
-<string>
Width
-<int32>
: debe ser mayor que0
Alignment
: el valor puede serLeft
,Center
oRight
Para obtener más información, consulte about_Calculated_Properties.
Tipo: | Object[] |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Title
Especifica un título para el archivo HTML, es decir, el texto que aparece entre las <TITLE>
etiquetas.
Tipo: | String |
Posición: | 2 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Transitional
Cambia a DOCTYPE
DTD de transición XHTML; el valor predeterminado DOCTYPE
es DTD estricto XHTML.
Este parámetro se introdujo en PowerShell 6.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
Puede canalizar cualquier objeto a este cmdlet.
Salidas
Este cmdlet devuelve una matriz de cadenas de HTML que representa el objeto convertido.
Notas
Para usar este cmdlet, canalice uno o varios objetos al cmdlet o use el parámetro InputObject para especificar el objeto. Cuando la entrada consta de varios objetos, el resultado de estos dos métodos es bastante diferente.
Al canalizar varios objetos a un cmdlet, PowerShell envía los objetos al cmdlet uno a uno. Como resultado,
ConvertTo-Html
crea una tabla que muestra los objetos individuales. Por ejemplo, si canaliza los procesos de un equipo aConvertTo-Html
, la tabla resultante muestra todos los procesos.Cuando se usa el parámetro InputObject para enviar varios objetos,
ConvertTo-Html
recibe estos objetos como una colección o como una matriz. Como resultado, crea una tabla que muestra la matriz y sus propiedades, no los elementos de la matriz. Por ejemplo, si usa InputObject para enviar los procesos de un equipo aConvertTo-Html
, la tabla resultante muestra una matriz de objetos y sus propiedades.Para cumplir con la DTD estricta XHTML, la
DOCTYPE
etiqueta se modifica en consecuencia:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"\>