ConvertTo-Html

Konverterar .NET-objekt till HTML som kan visas i en webbläsare.

Syntax

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

Cmdleten ConvertTo-Html konverterar .NET-objekt till HTML som kan visas i en webbläsare. Du kan använda den här cmdleten för att visa utdata från ett kommando på en webbsida.

Du kan använda parametrarna ConvertTo-Html för för att välja objektegenskaper, ange ett tabell- eller listformat, ange HTML-sidrubriken, lägga till text före och efter objektet och för att endast returnera tabellen eller listfragmentet i stället för en strikt DTD-sida.

När du skickar flera objekt till ConvertTo-Htmlskapar PowerShell tabellen (eller listan) baserat på egenskaperna för det första objekt som du skickar. Om de återstående objekten inte har någon av de angivna egenskaperna är egenskapsvärdet för objektet en tom cell. Om de återstående objekten har ytterligare egenskaper inkluderas inte dessa egenskapsvärden i filen.

Exempel

Exempel 1: Skapa en webbsida för att visa datumet

ConvertTo-Html -InputObject (Get-Date)

Det här kommandot skapar en HTML-sida som visar egenskaperna för det aktuella datumet. Den använder parametern InputObject för att skicka resultatet av ett Get-Date kommando till cmdleten ConvertTo-Html .

Exempel 2: Skapa en webbsida för att visa PowerShell-alias

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

Det här kommandot skapar en HTML-sida som visar PowerShell-aliasen i den aktuella konsolen.

Kommandot använder cmdleten Get-Alias för att hämta aliasen. Den använder pipelineoperatorn (|) för att skicka aliasen till cmdleten ConvertTo-Html , vilket skapar HTML-sidan. Kommandot använder också cmdleten Out-File för att skicka HTML-koden till aliases.htm filen.

Exempel 3: Skapa en webbsida för att visa PowerShell-händelser

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

Det här kommandot skapar en HTML-sida med namnet pslog.htm som visar händelserna i Windows PowerShell-händelseloggen på den lokala datorn.

Den använder cmdleten Get-EventLog för att hämta händelserna i Windows PowerShell-loggen och använder sedan pipelineoperatorn (|) för att skicka händelserna till cmdleten ConvertTo-Html . Kommandot använder också cmdleten Out-File för att skicka HTML-koden till pslog.htm filen.

Kommandot använder också cmdleten Out-File för att skicka HTML-koden till pslog.htm filen.

Exempel 4: Skapa en webbsida för att visa processer

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

Dessa kommandon skapar och öppnar en HTML-sida som visar namn, sökväg och företag för processerna på den lokala datorn.

Det första kommandot använder cmdleten Get-Process för att hämta objekt som representerar de processer som körs på datorn. Kommandot använder pipelineoperatorn (|) för att skicka processobjekten till cmdleten ConvertTo-Html .

Kommandot använder parametern Egenskap för att välja tre egenskaper för processobjekten som ska ingå i tabellen. Kommandot använder parametern Rubrik för att ange en rubrik för HTML-sidan. Kommandot använder också cmdleten Out-File för att skicka den resulterande HTML-koden till en fil med namnet Proc.htm.

Det andra kommandot använder cmdleten Invoke-Item Proc.htm för att öppna i standardwebbläsaren.

Exempel 5: Skapa en webbsida för att visa tjänstobjekt

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

Det här kommandot skapar en HTML-sida med de tjänstobjekt som cmdleten Get-Service returnerar. Kommandot använder parametern CssUri för att ange ett sammanhängande formatmallar för HTML-sidan.

CssUri-parametern lägger till ytterligare en <link rel="stylesheet" type="text/css" href="test.css"> tagg i den resulterande HTML-koden. HREF-attributet i taggen innehåller namnet på formatmallen.

Exempel 6: Skapa en webbsida för att visa tjänstobjekt

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

Det här kommandot skapar en HTML-sida med de tjänstobjekt som cmdleten Get-Service returnerar. Kommandot använder parametern Som för att ange ett listformat. Cmdleten Out-File skickar den resulterande HTML-koden till Services.htm filen.

Exempel 7: Skapa en webbtabell för det aktuella datumet

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>

Det här kommandot används ConvertTo-Html för att generera en HTML-tabell med det aktuella datumet. Kommandot använder cmdleten Get-Date för att hämta det aktuella datumet. Den använder en pipelineoperator (|) för att skicka resultatet till cmdleten ConvertTo-Html .

Kommandot ConvertTo-Html innehåller parametern Fragment , som begränsar utdata till en HTML-tabell. Därför utelämnas de andra elementen på en HTML-sida, till exempel taggarna <HEAD> och <BODY> .

Exempel 8: Skapa en webbsida för att visa PowerShell-händelser

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

Det här kommandot använder cmdleten Get-EventLog för att hämta händelser från Windows PowerShell-händelseloggen.

Den använder en pipelineoperator (|) för att skicka händelserna till cmdleten ConvertTo-Html , som konverterar händelserna till HTML-format.

Kommandot ConvertTo-Html använder egenskapsparametern för att endast välja egenskaperna ID, Nivå och Aktivitet för händelsen.

Exempel 9: Skapa en webbsida för att visa angivna tjänster

$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

Det här kommandot skapar och öppnar en webbsida som visar tjänsterna på datorn som börjar med A. Den använder parametrarna Rubrik, Brödtext, PreContent och PostContent för för att anpassa utdata. ConvertTo-Html

Den första delen av kommandot använder cmdleten Get-Service för att hämta tjänsterna på datorn som börjar med A. Kommandot använder en pipelineoperator (|) för att skicka resultatet till cmdleten ConvertTo-Html . Kommandot använder också cmdleten Out-File för att skicka utdata till Services.htm filen.

Ett semikolon (;) avslutar det första kommandot och startar ett andra kommando, som använder cmdleten Invoke-Item Services.htm för att öppna filen i standardwebbläsaren.

Exempel 10: Ange metaegenskaperna och teckenuppsättningen för HTML

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

Det här kommandot skapar HTML för en webbsida med metataggar för uppdatering, författare och nyckelord. Teckenuppsättningen för sidan är inställd på UTF-8

Exempel 11: Ange HTML till XHTML Övergångs-DTD

Get-Service | ConvertTo-HTML -Transitional

Det här kommandot anger DOCTYPE den returnerade HTML-koden till XHTML Transitional DTD

Parametrar

-As

Avgör om objektet är formaterat som en tabell eller en lista. Giltiga värden är Tabell och Lista. Standardvärdet är Tabell.

Tabellvärdet genererar en HTML-tabell som liknar PowerShell-tabellformatet. Rubrikraden visar egenskapsnamnen. Varje tabellrad representerar ett objekt och visar objektets värden för varje egenskap.

Listvärdet genererar en HTML-tabell med två kolumner för varje objekt som liknar PowerShell-listformatet. Den första kolumnen visar egenskapsnamnet. Den andra kolumnen visar egenskapsvärdet.

Typ:String
Godkända värden:Table, List
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Body

Anger den text som ska läggas till efter den inledande <BODY> taggen. Som standard finns det ingen text i den positionen.

Typ:String[]
Position:3
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Charset

Anger text som ska läggas till i den inledande <charset> taggen. Som standard finns det ingen text i den positionen.

Den här parametern introducerades i PowerShell 6.0.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-CssUri

Anger URI (Uniform Resource Identifier) för css -formatmallen (Cascading Style Sheet) som tillämpas på HTML-filen. URI:n ingår i en formatmallslänk i utdata.

Typ:Uri
Alias:cu, uri
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Fragment

Genererar endast en HTML-tabell. Taggarna <HTML>, <HEAD>, <TITLE>och <BODY> utelämnas.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Head

Anger innehållet i taggen <HEAD> . Standardvärdet är <title\>HTML TABLE</title>. Om du använder parametern Head ignoreras parametern Rubrik .

Typ:String[]
Position:1
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-InputObject

Anger vilka objekt som ska representeras i HTML. Ange en variabel som innehåller objekten eller skriv ett kommando eller uttryck som hämtar objekten.

Om du använder den här parametern för att skicka flera objekt, till exempel alla tjänster på en dator, ConvertTo-Html skapas en tabell som visar egenskaperna för en samling eller en matris med objekt. Om du vill skapa en tabell med de enskilda objekten använder du pipelineoperatorn för att skicka objekten till ConvertTo-Html.

Typ:PSObject
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Meta

Anger text som ska läggas till i den inledande <meta> taggen. Som standard finns det ingen text i den positionen.

Den här parametern introducerades i PowerShell 6.0.

Typ:Hashtable
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-PostContent

Anger text som ska läggas till efter den avslutande </TABLE> taggen. Som standard finns det ingen text i den positionen.

Typ:String[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-PreContent

Anger text som ska läggas till före den inledande <TABLE> taggen. Som standard finns det ingen text i den positionen.

Typ:String[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Property

Innehåller de angivna egenskaperna för objekten i HTML-koden. Värdet för egenskapsparametern kan vara en ny beräknad egenskap. Den beräknade egenskapen kan vara ett skriptblock eller en hash-tabell. Giltiga nyckel/värde-par är:

  • Name (eller etikett) – <string> (läggs till i PowerShell 6.x)
  • Expression - <string> eller <script block>
  • FormatString - <string>
  • Width - <int32> - måste vara större än 0
  • Alignment - värdet kan vara Left, Center, eller Right

Mer information finns i about_Calculated_Properties.

Typ:Object[]
Position:0
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Title

Anger en rubrik för HTML-filen, d.v.s. texten som visas mellan taggarna <TITLE> .

Typ:String
Position:2
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Transitional

Ändrar till XHTML Övergångs-DTD, Standard DOCTYPE är XHTML Strikt DTD.DOCTYPE

Den här parametern introducerades i PowerShell 6.0.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

PSObject

Du kan skicka valfritt objekt till den här cmdleten.

Utdata

String

Den här cmdleten returnerar en matris med strängar av HTML som representerar det konverterade objektet.

Kommentarer

Om du vill använda den här cmdleten kan du skicka ett eller flera objekt till cmdleten eller använda parametern InputObject för att ange objektet. När indata består av flera objekt är utdata från dessa två metoder helt olika.

  • När du skickar flera objekt till en cmdlet skickar PowerShell objekten till cmdleten en i taget. Därför ConvertTo-Html skapar en tabell som visar de enskilda objekten. Om du till exempel rör processerna på en dator till ConvertTo-Htmlvisar den resulterande tabellen alla processer.

  • När du använder parametern InputObject för att skicka flera objekt tar ConvertTo-Html du emot dessa objekt som en samling eller som en matris. Därför skapas en tabell som visar matrisen och dess egenskaper, inte objekten i matrisen. Om du till exempel använder InputObject för att skicka processerna på en dator till ConvertTo-Htmlvisar den resulterande tabellen en objektmatris och dess egenskaper.

    För att följa XHTML Strict DTD ändras taggen DOCTYPE i enlighet med detta:

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