{"id":4260,"date":"2025-02-24T16:45:00","date_gmt":"2025-02-24T16:45:00","guid":{"rendered":"https:\/\/www.it-connect.tech\/?p=4260"},"modified":"2025-03-20T12:37:49","modified_gmt":"2025-03-20T12:37:49","slug":"como-generar-informes-html-con-powershell","status":"publish","type":"post","link":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/","title":{"rendered":"\u00bfC\u00f3mo generar informes HTML con PowerShell?"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">I. Introducci\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PowerShell es totalmente capaz de manipular datos en una variedad de formatos y lenguajes, y HTML es uno de los soportados. En este tutorial, vamos a ver c\u00f3mo usted puede tomar ventaja de esto para crear informes en formato HTML.   <\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La ventaja de utilizar HTML para los informes es que permite estructurar y presentar la informaci\u00f3n de forma legible e interactiva. Vamos a explorar dos m\u00e9todos principales para generar informes HTML: utilizar la funci\u00f3n   <strong><code>ConvertTo-Html<\/code> <\/strong>y el uso del m\u00f3dulo <strong>PSWriteHTML<\/strong>, que ofrece mayor flexibilidad y personalizaci\u00f3n.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=5Jj9Bxa6bGc\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">Haga clic aqu\u00ed para ver el v\u00eddeo en YouTube<\/a><\/li>\n<\/ul>\n\n\n\n<iframe class=\"iframe_youtube\" src=\"https:\/\/www.youtube.com\/embed\/5Jj9Bxa6bGc\" title=\"Cree informes HTML profesionales con PowerShell\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen=\"\"><\/iframe>\n\n\n\n<h2 class=\"wp-block-heading\">II. Uso del cmdlet ConvertTo-Html   <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El cmdlet<strong> <code>ConvertTo-Html<\/code><\/strong>  es una soluci\u00f3n nativa de PowerShell para<strong> transformar objetos en c\u00f3digo HTML<\/strong>. Es f\u00e1cil de usar a primera vista, pero si quieres ir m\u00e1s all\u00e1, necesitar\u00e1s conocer <strong>la sintaxis HTML<\/strong> y <strong>CSS <\/strong>(para el formato).   <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">A. Exportar resultados de pedidos en formato HTML<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En este ejemplo, el  <strong><code>ConvertTo-Html<\/code><\/strong>  se utiliza para exportar la lista de procesos en ejecuci\u00f3n en una tabla HTML. El resultado se guarda en un archivo llamado <strong>\"Rapport.html<\/strong>\". <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Get-Process | ConvertTo-Html | Out-File \"C:\\Scripts\\HTML\\Rapport.html\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si ejecutas este comando, obtendr\u00e1s el resultado que se muestra a continuaci\u00f3n, es decir, <strong>una tabla HTML sin<\/strong> formato, sin ning\u00fan esfuerzo de formateo. En otras palabras,<strong> no hay c\u00f3digo CSS<\/strong> para a\u00f1adir un poco de color ni nada. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">He aqu\u00ed el resultado obtenido:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.it-connect.tech\/wp-content\/uploads\/2025\/02\/PowerShell-Exemple-dutilisation-ConvertTo-Html-800x293.png\" alt=\"PowerShell - Ejemplo de uso de ConvertTo-Html\" class=\"wp-image-93412\"\/><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Nota <\/strong>: <strong>CSS<\/strong><em>(Cascading Style Sheets<\/em>) es un lenguaje de estilo utilizado para definir el aspecto y la disposici\u00f3n de los elementos HTML en una p\u00e1gina web.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">B. A\u00f1adir un t\u00edtulo a la p\u00e1gina<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Puede a\u00f1adir un t\u00edtulo a la p\u00e1gina HTML utilizando el par\u00e1metro  <strong><code>-Title<\/code><\/strong>. Este t\u00edtulo ser\u00e1 visible en el navegador, en la pesta\u00f1a correspondiente al archivo HTML.   <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Get-Process | ConvertTo-Html -Title \"Liste des processus\" | Out-File \"C:\\Scripts\\HTML\\Rapport2.html\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En concreto, este par\u00e1metro adaptar\u00e1 el c\u00f3digo HTML para a\u00f1adir este fragmento de c\u00f3digo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;head&gt;\n&lt;title&gt;Liste des processus&lt;\/title&gt;\n&lt;\/head&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">C. A\u00f1adir estilo CSS<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora, en lugar del t\u00edtulo, vamos a a\u00f1adir c\u00f3digo CSS para mejorar la visualizaci\u00f3n de nuestra tabla en formato HTML. Esto mejorar\u00e1 la legibilidad y la vista general de nuestra tabla. El par\u00e1metro    <strong><code>-PreContent<\/code><\/strong>  permite insertar elementos antes de la tabla, en este caso el equivalente a una hoja de estilo CSS integrada en el c\u00f3digo HTML. Necesitar\u00e1s algunos conocimientos b\u00e1sicos de CSS y HTML para poder mejorar el formato de la tabla, pero no es muy complicado.   <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$Style = \"&lt;style&gt; body { font-family: Arial; } table { width: 100%; border-collapse: collapse; } th, td { border: 1px solid black; padding: 5px; } th { background-color : #C0C0C0 }&lt;\/style&gt;\"\n\nGet-Process | ConvertTo-Html -Title \"Liste des processus\" -PreContent $Style | Out-File \"C:\\Scripts\\HTML\\Rapport3.html\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Esta vez, la imagen es m\u00e1s f\u00e1cil de interpretar. He aqu\u00ed el resultado obtenido: <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.it-connect.tech\/wp-content\/uploads\/2025\/02\/PowerShell-Exemple-dutilisation-ConvertTo-Html-avec-code-CSS-800x325.png\" alt=\"\" class=\"wp-image-93413\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">He aqu\u00ed algunas explicaciones que le ayudar\u00e1n a interpretar el c\u00f3digo CSS:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>body { font-family: Arial; }<\/code><\/strong>  establece la fuente global del documento en Arial<\/li>\n\n\n\n<li><strong><code>table { width: 100%; border-collapse: collapse; }<\/code><\/strong>  hace que la tabla <strong>sea 100% ancha<\/strong> y <strong>fusiona los bordes<\/strong> para evitar l\u00edneas dobles.<\/li>\n\n\n\n<li><strong><code>th, td { border: 1px solid black; padding: 5px; }<\/code><\/strong>  a\u00f1ade un <strong>borde negro<\/strong> de 1 p\u00edxel (grosor) y un <strong>relleno de 5px<\/strong> a las celdas<code>th<\/code> (cabecera) y <code>td<\/code> (columna)<\/li>\n\n\n\n<li><strong><code>th { background-color : #C0C0C0; }<\/code><\/strong>  aplica un <strong>fondo gris claro (<code>#C0C0C0<\/code><\/strong>) a las celdas de encabezado (<code>th<\/code>).<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Nota<\/strong>: tambi\u00e9n puede utilizar el par\u00e1metro <strong>\"-PostContent<\/strong>\" para a\u00f1adir contenido despu\u00e9s de la tabla, en el archivo de salida HTML. Esto puede ser \u00fatil para a\u00f1adir un enunciado, un logotipo, etc. <\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">III. Creaci\u00f3n de un archivo HTML personalizado   <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para ir un paso m\u00e1s all\u00e1 y facilitar la lectura de esta tabla, podemos <strong>a\u00f1adirle un poco de color<\/strong>. Por ejemplo, para <strong>resaltar determinadas filas seg\u00fan un criterio espec\u00edfico<\/strong>. En este caso, se trata de a\u00f1adir un c\u00f3digo CSS espec\u00edfico (c\u00f3digo est\u00e1tico o una llamada a una clase CSS) para modificar el aspecto de las filas en cuesti\u00f3n.    <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n puede utilizar la funci\u00f3n  <strong><code>ConvertTo-Html<\/code><\/strong>  y luego <strong>modificar el c\u00f3digo HTML generado para inyectar c\u00f3digo CSS en los lugares adecuados<\/strong>. V\u00e9ase <a href=\"https:\/\/github.com\/florianburnel\/PowerShell\/blob\/master\/AD-Get-AdGroupMembershipChange\/Get-AdGroupMembershipChange.ps1\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">este script<\/a> como ejemplo (l\u00edneas 269 a 289). Otra forma de hacer las cosas es construir nosotros mismos el c\u00f3digo HTML, ya que la estructura de este lenguaje es bastante simple. Esto es lo que vamos a ver.   <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El <strong>objetivo es <\/strong>exportar la lista de servicios en la m\u00e1quina local y a\u00f1adir rojo como color de fondo en todas las l\u00edneas en las que el servicio est\u00e1 actualmente detenido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Empezaremos declarando nuestro c\u00f3digo CSS, formate\u00e1ndolo para que sea m\u00e1s f\u00e1cil de leer y modificar (a diferencia del ejemplo anterior). Ver\u00e1s que la clase CSS   <strong><code>.stopped<\/code><\/strong>  que se aplicar\u00e1 a las l\u00edneas en las que se interrumpa el servicio.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Definir el estilo CSS\n# La clase .stopped se aplicar\u00e1 a todas las filas en las que el servicio est\u00e9 detenido\n$Style = @\"\n&lt;style>\n    body { font-family: Arial, sans-serif; }\n    table { width: 100%; border-collapse: collapse; }\n    th, td { border: 1px solid black; padding: 5px; text-align: left; }\n    th { background-color: #C0C0C0; }\n    .stopped { background-color: #FF3737; color: white; }\n&lt;\/style>\n\"@<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n, recuperamos la<strong> lista de servicios <\/strong><strong> seleccionando tres propiedades<\/strong> (esto es importante, ya que necesitaremos el c\u00f3digo HTML m\u00e1s adelante), a saber  <strong><code>Name<\/code><\/strong><code><strong>DisplayName<\/strong><\/code>  y  <strong><code>Status<\/code><\/strong>. Utilizando un bucle ForEach, construimos una tabla en formato HTML (sin la l\u00ednea de cabecera). <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Recuperar la lista de servicios e inyectar la clase CSS cuando sea necesario\n$HTMLTable = Get-Service | Select-Object Name, DisplayName, Status | ForEach-Object {\n    $class = if ($_.Status -eq \"Stopped\") { \"class='stopped'\" } else { \"\" }\n    \"&lt;tr $class>&lt;td>$($_.Name)&lt;\/td>&lt;td>$($_.DisplayName)&lt;\/td>&lt;td>$($_.Status)&lt;\/td>&lt;\/tr>\"\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Por \u00faltimo, tenemos que ensamblar el c\u00f3digo de nuestra tabla con una estructura HTML tradicional. La l\u00ednea \"   <strong><code>&lt;tr&gt;&lt;th&gt;Nom&lt;\/th&gt;&lt;th&gt;Nom complet&lt;\/th&gt;&lt;th&gt;Statut&lt;\/th&gt;&lt;\/tr&gt;<\/code><\/strong>\" es declarar la l\u00ednea de cabecera de nuestra tabla, respetando la lista de propiedades seleccionadas previamente (mediante  <strong><code>Get-Service<\/code><\/strong>).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Construir el archivo final en formato HTML\n$HTML = @\"\n&lt;html>\n&lt;head>$Style&lt;\/head>\n&lt;body>\n    &lt;h2>Liste des services&lt;\/h2>\n    &lt;table>\n        &lt;tr>&lt;th>Nom&lt;\/th>&lt;th>Nom complet&lt;\/th>&lt;th>Statut&lt;\/th>&lt;\/tr>\n        $($HTMLTable -join \"`n\")\n    &lt;\/table>\n&lt;\/body>\n&lt;\/html>\n\"@\n\n# Exportar a un archivo\n$HTML | Out-File \"C:\\Scripts\\HTML\\Rapport-4.html\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed est\u00e1 el script PowerShell completo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Definir el estilo CSS\n# La clase .stopped se aplicar\u00e1 a todas las filas en las que el servicio est\u00e9 detenido\n$Style = @\"\n&lt;style>\n    body { font-family: Arial, sans-serif; }\n    table { width: 100%; border-collapse: collapse; }\n    th, td { border: 1px solid black; padding: 5px; text-align: left; }\n    th { background-color: #C0C0C0; }\n    .stopped { background-color: #FF3737; color: white; }\n&lt;\/style>\n\"@\n\n# Recuperar la lista de servicios e inyectar la clase CSS cuando sea necesario\n$HTMLTable = Get-Service | Select-Object Name, DisplayName, Status | ForEach-Object {\n    $class = if ($_.Status -eq \"Stopped\") { \"class='stopped'\" } else { \"\" }\n    \"&lt;tr $class>&lt;td>$($_.Name)&lt;\/td>&lt;td>$($_.DisplayName)&lt;\/td>&lt;td>$($_.Status)&lt;\/td>&lt;\/tr>\"\n}\n<strong>\n<\/strong># Construir el archivo final en formato HTML\n$HTML = @\"\n&lt;html>\n&lt;head>$Style&lt;\/head>\n&lt;body>\n    &lt;h2>Liste des services&lt;\/h2>\n    &lt;table>\n        &lt;tr>&lt;th>Nom&lt;\/th>&lt;th>Nom complet&lt;\/th>&lt;th>Statut&lt;\/th>&lt;\/tr>\n        $($HTMLTable -join \"`n\")\n    &lt;\/table>\n&lt;\/body>\n&lt;\/html>\n\"@\n\n# Exportar a un archivo\n$HTML | Out-File \"C:\\Scripts\\HTML\\Rapport-4.html\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfY el resultado final?<\/strong>  Eche un vistazo al archivo HTML obtenido tras ejecutar el script.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.it-connect.tech\/wp-content\/uploads\/2025\/02\/PowerShell-Export-HTML-avec-code-CSS-conditionnel.jpg\" alt=\"\" class=\"wp-image-93466\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">En el resto de este art\u00edculo, veremos c\u00f3mo utilizar el m\u00f3dulo <strong>PSWriteHTML<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Nota <\/strong>: es posible crear bonitos informes HTML generando el c\u00f3digo uno mismo y adaptando el CSS. Sin embargo, esto consume m\u00e1s tiempo que el m\u00e9todo que discutiremos en el resto de este art\u00edculo.   <\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">IV. Introducci\u00f3n a PSWriteHTML   <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PSWriteHTML<\/strong> es un m\u00f3dulo PowerShell dise\u00f1ado para aquellos que quieren <strong>crear hermosos informes HTML<\/strong> sin saber HTML o CSS. Tambi\u00e9n se puede utilizar para personalizar a\u00fan m\u00e1s los informes HTML mediante la integraci\u00f3n de tablas interactivas, gr\u00e1ficos y otros elementos visuales.   <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fue creado por <strong>EvotecIT<\/strong>, junto con otros excelentes m\u00f3dulos como CleanupMonster y GPOZaurr. Por cierto, estos dos m\u00f3dulos se basan en <strong>PSWriteHTML <\/strong>para crear informes HTML. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/EvotecIT\/PSWriteHTML\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">GitHub - PSWriteHTML<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">A. Instalaci\u00f3n de PSWriteHTML<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para instalar el m\u00f3dulo PSWriteHTML, basta con ejecutar el siguiente comando en una consola PowerShell:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Install-Module -Name PSWriteHTML<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.it-connect.tech\/wp-content\/uploads\/2025\/02\/Installation-du-module-PSWriteHTML.jpg\" alt=\"\" class=\"wp-image-93406\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">B. Principales comandos de PSWriteHTML<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">De este modo, puede enumerar todos los comandos del m\u00f3dulo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Get-Command -Module PSWriteHTML<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En la actualidad, hay <strong>196 cmdlets de PowerShell <\/strong>en este m\u00f3dulo, \u00a1as\u00ed que hay mucho que hacer!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Algunos comandos esenciales en este m\u00f3dulo :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Nuevo-HTML<\/strong>: crea un documento HTML.<\/li>\n\n\n\n<li><strong>New-HTMLTable<\/strong>: a\u00f1ade una tabla al informe.<\/li>\n\n\n\n<li><strong>New-HTMLHeader<\/strong>: a\u00f1ade una cabecera al informe (\u00fatil para indicar el nombre del informe, el nombre de la empresa, a\u00f1adir un logotipo, etc.).<\/li>\n\n\n\n<li><strong>New-HTMLChart <\/strong>: a\u00f1ade un gr\u00e1fico.<\/li>\n\n\n\n<li><strong>New-HTMLSection <\/strong>: permite estructurar el informe en secciones (dividir una p\u00e1gina en secciones)<\/li>\n\n\n\n<li><strong>New-ChartDonut<\/strong>: a\u00f1ade un gr\u00e1fico circular (o de camembert, para los normandos)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">C. Creaci\u00f3n de su primer informe con PSWriteHTML<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">He aqu\u00ed un sencillo ejemplo de informe interactivo con PSWriteHTML :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>New-HTML -Title \"Rapport PowerShell\" -FilePath \"C:\\Scripts\\HTML\\Rapport.html\" {\n    New-HTMLSection -HeaderText \"Liste des processus\" {\n        New-HTMLTable -DataTable (Get-Process)\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Este script genera un informe HTML que contiene una tabla interactiva que muestra la lista de procesos en ejecuci\u00f3n. Es m\u00e1s pesado de ejecutar que un simple   <strong><code>ConvertTo-Html<\/code><\/strong>  pero el resultado no es comparable. Aqu\u00ed est\u00e1 el informe HTML resultante: <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.it-connect.tech\/wp-content\/uploads\/2025\/02\/Rapport-HTML-genere-avec-PSWriteHtml-800x332.png\" alt=\"\" class=\"wp-image-93476\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Permite acceder a funciones adicionales:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ordenar por nombre de columna con un solo clic<\/li>\n\n\n\n<li>Exportar resultados (PDF, CSV, Excel)<\/li>\n\n\n\n<li>Haga clic en un proceso para obtener m\u00e1s detalles sobre \u00e9l<\/li>\n\n\n\n<li>Buscar con la barra de b\u00fasqueda<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Veamos c\u00f3mo ir m\u00e1s all\u00e1...<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">D. Crear un informe HTML con gr\u00e1ficos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">El m\u00f3dulo PSWriteHtml integra numerosos cmdlets de PowerShell para personalizar el informe HTML, en particular para integrar un men\u00fa y navegar as\u00ed entre varias p\u00e1ginas. Tambi\u00e9n se pueden crear tablas y gr\u00e1ficos de todo tipo. Se pueden crear secciones dentro del informe, y cada secci\u00f3n puede contener uno o varios elementos.    <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n se muestra un ejemplo de informe con <strong>informaci\u00f3n sobre las m\u00e1quinas integradas en el dominio Active Directory<\/strong>. Contiene los siguientes elementos:   <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Una <strong>cabecera <\/strong>con el nombre de dominio de Active Directory y la fecha actual<\/li>\n\n\n\n<li>Una <strong>primera secci\u00f3n<\/strong> con dos <strong>gr\u00e1ficos<\/strong>\n<ul class=\"wp-block-list\">\n<li>Distribuci\u00f3n del SO de las m\u00e1quinas en el dominio AD<\/li>\n\n\n\n<li>Desglose de los equipos del dominio AD por tipo de SO de sobremesa\/servidor<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Una <strong>segunda secci\u00f3n<\/strong> con dos <strong>cuadros<\/strong>\n<ul class=\"wp-block-list\">\n<li>La lista de estaciones de trabajo integradas en el dominio<\/li>\n\n\n\n<li>La lista de servidores integrados en el dominio<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-id=\"93470\" src=\"https:\/\/www.it-connect.tech\/wp-content\/uploads\/2025\/02\/PowerShell-Rapport-HTML-genere-avec-PSWriteHTML.jpg\" alt=\"PowerShell - Informe HTML generado con PSWriteHTML\" class=\"wp-image-93470\"\/><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora, echemos un vistazo m\u00e1s de cerca al c\u00f3digo PowerShell que logra este objetivo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed est\u00e1 la primera parte del script para recuperar datos en m\u00e1quinas de dominio. Es un c\u00f3digo sencillo basado en el uso de   <strong><code>Get-ADComputer<\/code><\/strong>  del m\u00f3dulo Active Directory. La idea es almacenar informaci\u00f3n en variables, que luego pueden mostrarse en forma de gr\u00e1ficos o tablas.   <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Recuperaci\u00f3n de datos\n\n# Almacenar la lista de ordenadores presentes en AD\n$ComputersList = Get-ADComputer -Filter * -Properties Name, OperatingSystem, whenCreated, IPv4Address\n\n# Contar ocurrencias de cada SO\n$ComputersOSName = $ComputersList | Group-Object -Property OperatingSystem | Sort-Object Count -Descending\n\n# Clasificar OS con una propiedad calculada\n$ComputersOSType = $ComputersList | Select-Object OperatingSystem, @{ \n                        Name=\"TypeOS\"; \n                        Expression={\n                            if ($_.OperatingSystem -match \"Windows Server\") { \"Windows Server\" }\n                            else { \"Windows Desktop\" }\n                        }\n                    } | Group-Object -Property TypeOS | Sort-Object Count -Descending\n\n# Propiedades a exportar para tablas de m\u00e1quinas\n$ComputersOSProperties = @(\"Name\", \"OperatingSystem\", \"IPv4Address\", \"whenCreated\")\n\n# Obtener la lista de estaciones de trabajo\n$ComputersOSDesktop = $ComputersList | Select-Object $ComputersOSProperties | Sort-Object Name | Where-Object { $_.OperatingSystem -NotMatch \"Server\" }\n\n# Obtener la lista de servidores\n$ComputersOSServer = $ComputersList | Select-Object $ComputersOSProperties | Sort-Object Name | Where-Object { $_.OperatingSystem -Match \"Windows Server\" }<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En el c\u00f3digo anterior, el uso de  <strong><code>Group-Object -Property TypeOS<\/code> <\/strong>es interesante, porque permite agrupar los equipos AD por tipo de SO, junto con el n\u00famero de elementos. Muy \u00fatil para hacer gr\u00e1ficos.   <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ahora pasamos al c\u00f3digo basado en PSWriteHtml para construir el informe HTML.<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Construir el informe HTML con PSWriteHTML\nNew-HTML -Title \"R\u00e9partition des OS\" -FilePath \"C:\\Scripts\\HTML\\RapportOS-2.html\" -ShowHTML:$true {\n    \n    # Cabecera del informe con nombre de dominio y fecha\n    New-HTMLHeader {\n        New-HTMLSection -Invisible  {            \n            New-HTMLPanel -Invisible {\n                New-HTMLText -Text \"Domaine : $($env:USERDNSDOMAIN)\" -FontSize 18 -FontWeight 100\n                New-HTMLText -Text \"Date : $(Get-Date -Format \"dd\/MM\/yyyy\")\" -FontSize 12\n            } -AlignContentText left\n        }\n    }\n\n    # Secci\u00f3n 1 - Gr\u00e1ficos\n    New-HTMLSection -HeaderText \"Distribution des OS dans Active Directory\" -HeaderBackGroundColor \"#00698e\" {\n        New-HTMLChart -Title \"R\u00e9partition par OS\" -Gradient {\n            foreach ($Line in $ComputersOSName) {\n                New-ChartDonut -Name  $Line.Name -Value $Line.Count\n            }\n        }\n        New-HTMLChart -Title \"R\u00e9partition Desktop \/ Server\" -Gradient {\n            foreach ($Line in $ComputersOSType) {\n                New-ChartDonut -Name $Line.Name -Value $Line.Count\n            }\n        }\n    }\n\n    # Secci\u00f3n 2 - Cuadros con la lista de ordenadores\n    New-HTMLSection -HeaderText \"Liste des machines inscrites dans l'Active Directory\" -HeaderBackGroundColor \"#00698e\"  {\n            New-HTMLPanel {\n                New-HTMLTable -DataTable $ComputersOSDesktop -HideFooter -AutoSize\n            }\n            New-HTMLPanel {\n                New-HTMLTable -Title \"Liste des postes des serveurs\" -DataTable $ComputersOSServer -HideFooter -AutoSize\n            }\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">La idea es la siguiente:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Es necesario declarar un nuevo informe HTML con la propiedad<strong><code> New-HTML<\/code><\/strong><\/li>\n\n\n\n<li>La opci\u00f3n <strong>-ShowHTML:$true <\/strong>del cmdlet <strong>New-HTML<\/strong> se utiliza para abrir autom\u00e1ticamente el informe una vez generado.<\/li>\n\n\n\n<li>Debe declarar la cabecera con el atributo  <strong><code>New-HTMLHeader<\/code><\/strong><\/li>\n\n\n\n<li>Cada nueva secci\u00f3n (bloque con varios elementos en su interior) se declara mediante la funci\u00f3n  <strong><code>New-HTMLSection<\/code><\/strong><\/li>\n\n\n\n<li>A continuaci\u00f3n, hay que anidar los elementos entre s\u00ed de forma jer\u00e1rquica (lo que permite visualizar mentalmente el dise\u00f1o del informe). Por eso, debajo de la declaraci\u00f3n HTML del informe, hay una declaraci\u00f3n de secci\u00f3n, y debajo de la secci\u00f3n, est\u00e1 la declaraci\u00f3n de los dos gr\u00e1ficos.   <\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Cada cmdlet tiene sus propias opciones, para ajustar el formato, a\u00f1adir un t\u00edtulo, modificar CSS, etc... Es muy flexible y personalizable. Este ejemplo muestra el potencial de este m\u00f3dulo de PowerShell y la facilidad con la que se pueden recuperar datos y darles formato en un informe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Encuentre el script completo en el GitHub de IT-Connect :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/github.com\/it-connect-fr\/PowerShell-Windows\/blob\/main\/PowerShell-PSWriteHtml\/Get-ADOSReporting.ps1\" target=\"_blank\" rel=\" noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/www.it-connect.tech\/wp-content\/uploads\/2025\/02\/Bouton-Acceder-a-la-ressource-sur-GitHub-4.png\" alt=\"\" class=\"wp-image-77232\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">V. Conclusi\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Como acabamos de ver, PowerShell ofrece varias posibilidades para generar informes HTML, desde el sencillo <code>ConvertTo-Html<\/code> hasta el m\u00e1s avanzado PSWriteHTML. Recomiendo encarecidamente el uso de PSWriteHTML si desea informes m\u00e1s interactivos y est\u00e9ticamente agradables, que tambi\u00e9n son un poco m\u00e1s pesados de generar. Tambi\u00e9n crean una dependencia del m\u00f3dulo PSWriteHTML, a diferencia del uso del cmdlet nativo de PowerShell.    <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfQu\u00e9 le parece?<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este tutorial, aprender\u00e1 a generar informes HTML din\u00e1micos con PowerShell : ConvertTo-Html y CSS personalizado, adem\u00e1s del m\u00f3dulo PSWriteHTML.<\/p>\n","protected":false},"author":2,"featured_media":4263,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[26],"tags":[32],"class_list":["post-4260","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-scripting","tag-powershell"],"acf":{"hreflang_fr":"https:\/\/www.it-connect.fr\/comment-generer-des-rapports-html-avec-powershell\/"},"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO Pro 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"En este tutorial, aprender\u00e1 a generar informes HTML din\u00e1micos con PowerShell : ConvertTo-Html y CSS personalizado, adem\u00e1s del m\u00f3dulo PSWriteHTML.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Florian Burnel\"\/>\n\t<meta name=\"google-site-verification\" content=\"ZA5wDx6z10dkUAOeNgJmYDQP4pE2hlMb0pmDKXfWk9U\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO Pro (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"IT-Connect -\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Generar informes HTML con PowerShell : Gu\u00eda completa\" \/>\n\t\t<meta property=\"og:description\" content=\"En este tutorial, aprender\u00e1 a generar informes HTML din\u00e1micos con PowerShell : ConvertTo-Html y CSS personalizado, adem\u00e1s del m\u00f3dulo PSWriteHTML.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.it-connect.tech\/wp-content\/uploads\/2025\/02\/PowerShell-Generar-informes-HTML.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.it-connect.tech\/wp-content\/uploads\/2025\/02\/PowerShell-Generar-informes-HTML.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t\t<meta property=\"og:image:height\" content=\"445\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-02-24T16:45:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-03-20T12:37:49+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/it.connect.fr\/\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@itconnect_fr\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Generar informes HTML con PowerShell : Gu\u00eda completa\" \/>\n\t\t<meta name=\"twitter:description\" content=\"En este tutorial, aprender\u00e1 a generar informes HTML din\u00e1micos con PowerShell : ConvertTo-Html y CSS personalizado, adem\u00e1s del m\u00f3dulo PSWriteHTML.\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@florianburnel\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.it-connect.tech\/wp-content\/uploads\/2025\/02\/PowerShell-Generar-informes-HTML.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/como-generar-informes-html-con-powershell\\\/#blogposting\",\"name\":\"Generar informes HTML con PowerShell : Gu\\u00eda completa\",\"headline\":\"\\u00bfC\\u00f3mo generar informes HTML con PowerShell?\",\"author\":{\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/author\\\/florian-burnel\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.it-connect.tech\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/PowerShell-Generar-informes-HTML.jpg\",\"width\":800,\"height\":445,\"caption\":\"PowerShell - Generar informes HTML\"},\"datePublished\":\"2025-02-24T16:45:00+00:00\",\"dateModified\":\"2025-03-20T12:37:49+00:00\",\"inLanguage\":\"es-ES\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/como-generar-informes-html-con-powershell\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/como-generar-informes-html-con-powershell\\\/#webpage\"},\"articleSection\":\"Scripting, PowerShell\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/como-generar-informes-html-con-powershell\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/cursos-tutoriales\\\/#listItem\",\"name\":\"Cursos - Tutoriales\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/cursos-tutoriales\\\/#listItem\",\"position\":2,\"name\":\"Cursos - Tutoriales\",\"item\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/cursos-tutoriales\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/cursos-tutoriales\\\/administracion-del-sistema\\\/#listItem\",\"name\":\"Administraci\\u00f3n del sistema\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/cursos-tutoriales\\\/administracion-del-sistema\\\/#listItem\",\"position\":3,\"name\":\"Administraci\\u00f3n del sistema\",\"item\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/cursos-tutoriales\\\/administracion-del-sistema\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/cursos-tutoriales\\\/administracion-del-sistema\\\/scripting\\\/#listItem\",\"name\":\"Scripting\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/cursos-tutoriales\\\/#listItem\",\"name\":\"Cursos - Tutoriales\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/cursos-tutoriales\\\/administracion-del-sistema\\\/scripting\\\/#listItem\",\"position\":4,\"name\":\"Scripting\",\"item\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/cursos-tutoriales\\\/administracion-del-sistema\\\/scripting\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/como-generar-informes-html-con-powershell\\\/#listItem\",\"name\":\"\\u00bfC\\u00f3mo generar informes HTML con PowerShell?\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/cursos-tutoriales\\\/administracion-del-sistema\\\/#listItem\",\"name\":\"Administraci\\u00f3n del sistema\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/como-generar-informes-html-con-powershell\\\/#listItem\",\"position\":5,\"name\":\"\\u00bfC\\u00f3mo generar informes HTML con PowerShell?\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/cursos-tutoriales\\\/administracion-del-sistema\\\/scripting\\\/#listItem\",\"name\":\"Scripting\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/#organization\",\"name\":\"IT-Connect\",\"url\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.it-connect.tech\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/cropped-Logo-IT-Connect-Tech.png\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/como-generar-informes-html-con-powershell\\\/#organizationLogo\",\"width\":270,\"height\":43},\"image\":{\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/como-generar-informes-html-con-powershell\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/it.connect.fr\\\/\",\"https:\\\/\\\/twitter.com\\\/itconnect_fr\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCIJTq0nGrgkGMy1xJL_YppQ\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/it-connect-fr\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/author\\\/florian-burnel\\\/#author\",\"url\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/author\\\/florian-burnel\\\/\",\"name\":\"Florian Burnel\",\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.it-connect.tech\\\/wp-content\\\/litespeed\\\/avatar\\\/5bdede05180057b315d3034e71530064.jpg?ver=1780917977\"},\"sameAs\":[\"https:\\\/\\\/twitter.com\\\/florianburnel\",\"https:\\\/\\\/www.youtube.com\\\/@IT-Connect\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/florian-burnel-268b52b1\\\/\"],\"jobTitle\":\"Co-founder of IT-Connect\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/como-generar-informes-html-con-powershell\\\/#webpage\",\"url\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/como-generar-informes-html-con-powershell\\\/\",\"name\":\"Generar informes HTML con PowerShell : Gu\\u00eda completa\",\"description\":\"En este tutorial, aprender\\u00e1 a generar informes HTML din\\u00e1micos con PowerShell : ConvertTo-Html y CSS personalizado, adem\\u00e1s del m\\u00f3dulo PSWriteHTML.\",\"inLanguage\":\"es-ES\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/como-generar-informes-html-con-powershell\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/author\\\/florian-burnel\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/author\\\/florian-burnel\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.it-connect.tech\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/PowerShell-Generar-informes-HTML.jpg\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/como-generar-informes-html-con-powershell\\\/#mainImage\",\"width\":800,\"height\":445,\"caption\":\"PowerShell - Generar informes HTML\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/como-generar-informes-html-con-powershell\\\/#mainImage\"},\"datePublished\":\"2025-02-24T16:45:00+00:00\",\"dateModified\":\"2025-03-20T12:37:49+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/\",\"name\":\"IT-Connect\",\"inLanguage\":\"es-ES\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.it-connect.tech\\\/es\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO Pro -->\r\n\t\t<title>Generar informes HTML con PowerShell : Gu\u00eda completa<\/title>\n\n","aioseo_head_json":{"title":"Generar informes HTML con PowerShell : Gu\u00eda completa","description":"En este tutorial, aprender\u00e1 a generar informes HTML din\u00e1micos con PowerShell : ConvertTo-Html y CSS personalizado, adem\u00e1s del m\u00f3dulo PSWriteHTML.","canonical_url":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"ZA5wDx6z10dkUAOeNgJmYDQP4pE2hlMb0pmDKXfWk9U","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/#blogposting","name":"Generar informes HTML con PowerShell : Gu\u00eda completa","headline":"\u00bfC\u00f3mo generar informes HTML con PowerShell?","author":{"@id":"https:\/\/www.it-connect.tech\/es\/author\/florian-burnel\/#author"},"publisher":{"@id":"https:\/\/www.it-connect.tech\/es\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.it-connect.tech\/wp-content\/uploads\/2025\/02\/PowerShell-Generar-informes-HTML.jpg","width":800,"height":445,"caption":"PowerShell - Generar informes HTML"},"datePublished":"2025-02-24T16:45:00+00:00","dateModified":"2025-03-20T12:37:49+00:00","inLanguage":"es-ES","mainEntityOfPage":{"@id":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/#webpage"},"isPartOf":{"@id":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/#webpage"},"articleSection":"Scripting, PowerShell"},{"@type":"BreadcrumbList","@id":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.it-connect.tech\/es\/#listItem","position":1,"name":"Home","item":"https:\/\/www.it-connect.tech\/es\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/#listItem","name":"Cursos - Tutoriales"}},{"@type":"ListItem","@id":"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/#listItem","position":2,"name":"Cursos - Tutoriales","item":"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/administracion-del-sistema\/#listItem","name":"Administraci\u00f3n del sistema"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.it-connect.tech\/es\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/administracion-del-sistema\/#listItem","position":3,"name":"Administraci\u00f3n del sistema","item":"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/administracion-del-sistema\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/administracion-del-sistema\/scripting\/#listItem","name":"Scripting"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/#listItem","name":"Cursos - Tutoriales"}},{"@type":"ListItem","@id":"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/administracion-del-sistema\/scripting\/#listItem","position":4,"name":"Scripting","item":"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/administracion-del-sistema\/scripting\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/#listItem","name":"\u00bfC\u00f3mo generar informes HTML con PowerShell?"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/administracion-del-sistema\/#listItem","name":"Administraci\u00f3n del sistema"}},{"@type":"ListItem","@id":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/#listItem","position":5,"name":"\u00bfC\u00f3mo generar informes HTML con PowerShell?","previousItem":{"@type":"ListItem","@id":"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/administracion-del-sistema\/scripting\/#listItem","name":"Scripting"}}]},{"@type":"Organization","@id":"https:\/\/www.it-connect.tech\/es\/#organization","name":"IT-Connect","url":"https:\/\/www.it-connect.tech\/es\/","logo":{"@type":"ImageObject","url":"https:\/\/www.it-connect.tech\/wp-content\/uploads\/2025\/02\/cropped-Logo-IT-Connect-Tech.png","@id":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/#organizationLogo","width":270,"height":43},"image":{"@id":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/it.connect.fr\/","https:\/\/twitter.com\/itconnect_fr","https:\/\/www.youtube.com\/channel\/UCIJTq0nGrgkGMy1xJL_YppQ","https:\/\/www.linkedin.com\/company\/it-connect-fr"]},{"@type":"Person","@id":"https:\/\/www.it-connect.tech\/es\/author\/florian-burnel\/#author","url":"https:\/\/www.it-connect.tech\/es\/author\/florian-burnel\/","name":"Florian Burnel","image":{"@type":"ImageObject","url":"https:\/\/www.it-connect.tech\/wp-content\/litespeed\/avatar\/5bdede05180057b315d3034e71530064.jpg?ver=1780917977"},"sameAs":["https:\/\/twitter.com\/florianburnel","https:\/\/www.youtube.com\/@IT-Connect","https:\/\/www.linkedin.com\/in\/florian-burnel-268b52b1\/"],"jobTitle":"Co-founder of IT-Connect"},{"@type":"WebPage","@id":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/#webpage","url":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/","name":"Generar informes HTML con PowerShell : Gu\u00eda completa","description":"En este tutorial, aprender\u00e1 a generar informes HTML din\u00e1micos con PowerShell : ConvertTo-Html y CSS personalizado, adem\u00e1s del m\u00f3dulo PSWriteHTML.","inLanguage":"es-ES","isPartOf":{"@id":"https:\/\/www.it-connect.tech\/es\/#website"},"breadcrumb":{"@id":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/#breadcrumblist"},"author":{"@id":"https:\/\/www.it-connect.tech\/es\/author\/florian-burnel\/#author"},"creator":{"@id":"https:\/\/www.it-connect.tech\/es\/author\/florian-burnel\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.it-connect.tech\/wp-content\/uploads\/2025\/02\/PowerShell-Generar-informes-HTML.jpg","@id":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/#mainImage","width":800,"height":445,"caption":"PowerShell - Generar informes HTML"},"primaryImageOfPage":{"@id":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/#mainImage"},"datePublished":"2025-02-24T16:45:00+00:00","dateModified":"2025-03-20T12:37:49+00:00"},{"@type":"WebSite","@id":"https:\/\/www.it-connect.tech\/es\/#website","url":"https:\/\/www.it-connect.tech\/es\/","name":"IT-Connect","inLanguage":"es-ES","publisher":{"@id":"https:\/\/www.it-connect.tech\/es\/#organization"}}]},"og:locale":"es_ES","og:site_name":"IT-Connect -","og:type":"article","og:title":"Generar informes HTML con PowerShell : Gu\u00eda completa","og:description":"En este tutorial, aprender\u00e1 a generar informes HTML din\u00e1micos con PowerShell : ConvertTo-Html y CSS personalizado, adem\u00e1s del m\u00f3dulo PSWriteHTML.","og:url":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/","og:image":"https:\/\/www.it-connect.tech\/wp-content\/uploads\/2025\/02\/PowerShell-Generar-informes-HTML.jpg","og:image:secure_url":"https:\/\/www.it-connect.tech\/wp-content\/uploads\/2025\/02\/PowerShell-Generar-informes-HTML.jpg","og:image:width":800,"og:image:height":445,"article:published_time":"2025-02-24T16:45:00+00:00","article:modified_time":"2025-03-20T12:37:49+00:00","article:publisher":"https:\/\/www.facebook.com\/it.connect.fr\/","twitter:card":"summary_large_image","twitter:site":"@itconnect_fr","twitter:title":"Generar informes HTML con PowerShell : Gu\u00eda completa","twitter:description":"En este tutorial, aprender\u00e1 a generar informes HTML din\u00e1micos con PowerShell : ConvertTo-Html y CSS personalizado, adem\u00e1s del m\u00f3dulo PSWriteHTML.","twitter:creator":"@florianburnel","twitter:image":"https:\/\/www.it-connect.tech\/wp-content\/uploads\/2025\/02\/PowerShell-Generar-informes-HTML.jpg"},"aioseo_meta_data":{"post_id":"4260","title":"Generar informes HTML con PowerShell : Gu\u00eda completa","description":"En este tutorial, aprender\u00e1 a generar informes HTML din\u00e1micos con PowerShell : ConvertTo-Html y CSS personalizado, adem\u00e1s del m\u00f3dulo PSWriteHTML.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"seo_analyzer_scan_date":"2026-05-12 22:29:58","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"open_ai":"{\"title\":{\"suggestions\":[],\"usage\":0},\"description\":{\"suggestions\":[],\"usage\":0}}","ai":null,"created":"2025-03-10 16:55:27","updated":"2026-05-12 22:29:58"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/www.it-connect.tech\/es\/\" title=\"Home\">Home<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/\" title=\"Cursos - Tutoriales\">Cursos - Tutoriales<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/administracion-del-sistema\/\" title=\"Administraci\u00f3n del sistema\">Administraci\u00f3n del sistema<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/administracion-del-sistema\/scripting\/\" title=\"Scripting\">Scripting<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\u00bfC\u00f3mo generar informes HTML con PowerShell?\n<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.it-connect.tech\/es\/"},{"label":"Cursos - Tutoriales","link":"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/"},{"label":"Administraci\u00f3n del sistema","link":"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/administracion-del-sistema\/"},{"label":"Scripting","link":"https:\/\/www.it-connect.tech\/es\/cursos-tutoriales\/administracion-del-sistema\/scripting\/"},{"label":"\u00bfC\u00f3mo generar informes HTML con PowerShell?","link":"https:\/\/www.it-connect.tech\/es\/como-generar-informes-html-con-powershell\/"}],"_links":{"self":[{"href":"https:\/\/www.it-connect.tech\/es\/wp-json\/wp\/v2\/posts\/4260","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.it-connect.tech\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.it-connect.tech\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.it-connect.tech\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.it-connect.tech\/es\/wp-json\/wp\/v2\/comments?post=4260"}],"version-history":[{"count":3,"href":"https:\/\/www.it-connect.tech\/es\/wp-json\/wp\/v2\/posts\/4260\/revisions"}],"predecessor-version":[{"id":4996,"href":"https:\/\/www.it-connect.tech\/es\/wp-json\/wp\/v2\/posts\/4260\/revisions\/4996"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.it-connect.tech\/es\/wp-json\/wp\/v2\/media\/4263"}],"wp:attachment":[{"href":"https:\/\/www.it-connect.tech\/es\/wp-json\/wp\/v2\/media?parent=4260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.it-connect.tech\/es\/wp-json\/wp\/v2\/categories?post=4260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.it-connect.tech\/es\/wp-json\/wp\/v2\/tags?post=4260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}