Compartir a través de


ConvertTo-Html

Convierte objetos de Microsoft .NET Framework en HTML que se pueden mostrar en un explorador web.

Sintaxis

Page (valor predeterminado)

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

Fragment

ConvertTo-Html
    [[-Property] <Object[]>]
    [-InputObject <PSObject>]
    [-As <String>]
    [-Fragment]
    [-PostContent <String[]>]
    [-PreContent <String[]>]
    [<CommonParameters>]

Description

El cmdlet ConvertTo-Html convierte objetos de .NET Framework en HTML que se pueden mostrar en un explorador web. Puede usar este cmdlet para mostrar la salida de un comando en una página web.

Puede usar los parámetros de ConvertTo-Html para seleccionar propiedades de 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, Windows PowerShell crea la tabla o una lista, en función de las propiedades del primer objeto que envíe. Si los objetos restantes no tienen una de las propiedades especificadas, el valor de propiedad de ese objeto es una celda vacía. Si los objetos restantes 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

PS C:\> 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 comando de Get-Date al cmdlet ConvertTo-Html de .

Ejemplo 2: Creación de una página web para mostrar alias de PowerShell

PS C:\> Get-Alias | ConvertTo-Html | Out-File aliases.htm
PS C:\> Invoke-Item aliases.htm

Este comando crea una página HTML que muestra los alias de Windows PowerShell en la consola actual.

El comando usa el cmdlet Get-Alias para obtener los alias. Usa el operador de canalización (|) para enviar los alias al cmdlet ConvertTo-Html, que crea la página HTML. El comando también usa el cmdlet Out-File para enviar el código HTML al archivo aliases.htm.

Ejemplo 3: Creación de una página web para mostrar eventos de PowerShell

PS C:\> 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 cmdlet Get-EventLog 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 cmdlet ConvertTo-Html.

El comando también usa el cmdlet Out-File para enviar el código HTML al archivo pslog.htm.

Ejemplo 4: Crear una página web para mostrar procesos

PS C:\> Get-Process | ConvertTo-Html -Property Name, Path, Company -Title "Process Information" | Out-File proc.htm; ii 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 cmdlet Get-Process 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 cmdlet ConvertTo-Html.

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 cmdlet Out-File para enviar el CÓDIGO HTML resultante a un archivo denominado Proc.htm.

El segundo comando usa el cmdlet Invoke-Item (alias = ii) para abrir el Proc.htm en el explorador predeterminado. Los dos comandos están separados por punto y coma (;).

Ejemplo 5: Crear una página web para mostrar objetos de servicio

PS> 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 cmdlet Get-Service. El comando usa el parámetro cssUri de para especificar una hoja de estilos en cascada para la página HTML.

El parámetro cssUri de agrega una etiqueta link adicional rel="stylesheet" type="text/css"/ href="test.css" etiqueta al 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

PS C:\> 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 cmdlet Get-Service. 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 archivo Services.htm.

Ejemplo 7: Creación de una tabla web para la fecha actual

PS C:\> Get-Date | cth -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 cmdlet Get-Date para obtener la fecha actual. Usa un operador de canalización (|) para enviar los resultados al cmdlet ConvertTo-Html (con alias como cth).

El comando ConvertTo-Html 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 el< HEAD de >y <las etiquetas BODY> BODY.

Ejemplo 8: Creación de una página web para mostrar eventos de PowerShell

PS C:\> Get-EventLog -Log "Windows PowerShell" | ConvertTo-Html -Property id, level, task

Este comando usa el cmdlet Get-EventLog para obtener eventos del registro de eventos de Windows PowerShell.

Usa un operador de canalización (|) para enviar los eventos al cmdlet ConvertTo-Html, que convierte los eventos en formato HTML.

El comando ConvertTo-Html 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

PS C:\> Get-Service A* | ConvertTo-Html -Title "Windows Services: Server01" -Body (get-date) -Pre
"<P>Generated by Corporate IT</P>" -Post "For details, contact Corporate IT." | Out-File services.htm; ii 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ámetrosTitle Title , Body, PreContenty PostContent parámetros de ConvertTo-Html para personalizar la salida.

La primera parte del comando usa el cmdlet Get-Service para obtener los servicios del equipo que comienzan por A. El comando usa un operador de canalización (|) para enviar los resultados al cmdlet ConvertTo-Html. El comando también usa el cmdlet Out-File para enviar la salida al archivo Services.htm.

Punto y coma (;) finaliza el primer comando e inicia un segundo comando, que usa el cmdlet Invoke-Item (alias = "ii") para abrir el archivo Services.htm en el explorador predeterminado.

Parámetros

-As

Especifica si el objeto tiene el formato de una tabla o una lista. Los valores aceptables para este parámetro son: Table y List. El valor predeterminado es Table.

El valor Table genera una tabla HTML similar al formato de tabla de Windows PowerShell. La fila de encabezado muestra los nombres de propiedad. Cada fila de tabla representa un objeto y muestra los valores del objeto para cada propiedad.

El valor List genera una tabla HTML de dos columnas para cada objeto similar al formato de lista de Windows PowerShell. La primera columna muestra el nombre de la propiedad; la segunda columna muestra el valor de la propiedad.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Valores aceptados:Table, List
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Body

Especifica el texto, como matriz, que se va a agregar después de la etiqueta BODY< de apertura >. De forma predeterminada, no hay texto en esa posición.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

Page
Posición:3
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes: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 la salida.

Propiedades de parámetro

Tipo:Uri
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:Cu, Uri

Conjuntos de parámetros

Page
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Fragment

Indica que este cmdlet genera solo una tabla HTML. Se omiten las etiquetas HTML, HEAD, TITLE y BODY.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

Fragment
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Head

Especifica el contenido de la etiqueta head<>head como una matriz. El valor predeterminado es <título>HTML TABLE</title>. Si usa el parámetro Head, se omite el parámetro Title.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

Page
Posición:1
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-InputObject

Especifica los objetos que se van a representar en HTML. Escriba una variable que contenga los objetos o escriba un comando o 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 (System.Object[]). Para crear una tabla de los objetos individuales, use el operador de canalización para canalizar los objetos a ConvertTo-Html.

Propiedades de parámetro

Tipo:PSObject
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-PostContent

Especifica el texto que se va a agregar después de la etiqueta de cierre </TABLE>. De forma predeterminada, no hay texto en esa posición.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-PreContent

Especifica una matriz de texto que se va a agregar antes de la etiqueta TABLE< de apertura >. De forma predeterminada, no hay texto en esa posición.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Property

Especifica las propiedades de los objetos en el código HTML. El valor del parámetro Property puede ser una nueva propiedad calculada. Para crear una propiedad calculada, use una tabla hash. Las claves válidas son:

  • Etiqueta <cadena> (a diferencia de Select-Object o Format-Table, no se admite la clave Name)
  • Expresión <cadena> o <bloque de script>

Propiedades de parámetro

Tipo:

Object[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:0
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Title

Especifica un título para el archivo HTML, es decir, el texto que aparece entre la <etiquetas TITLE>.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

Page
Posición:2
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

PSObject

Puede canalizar cualquier objeto .NET a ConvertTo-Html.

Salidas

System.String or System.Xml.XmlDocument

Este cmdlet devuelve una serie de cadenas que componen HTML válidos.

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, la salida de estos dos métodos es bastante diferente.

    • Al canalizar varios objetos a un cmdlet, Windows 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 a ConvertTo-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 a ConvertTo-Html, la tabla resultante muestra una matriz de objetos (System.Object[]) y sus propiedades.

    Para cumplir con la DTD estricta XHTML, la etiqueta DOCTYPE se modifica en consecuencia:

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