Dela via


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 objektet 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 cmdletenConvertTo-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 för att öppna Proc.htm 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 CssUri-parametern för att ange ett sammanhängande formatmall 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 aktuellt datum

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änder ConvertTo-Html för att generera en HTML-tabell med aktuellt datum. 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 parametern Egenskap för att endast välja ID, Nivå och Aktivitetsegenskaper 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 de tjänster på datorn som börjar med A. Den använder parametrarna ConvertTo-HtmlRubrik, Brödtext, PreContent och PostContent för för att anpassa utdata.

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-ItemServices.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 Övergångs-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.

Type:String
Accepted values:Table, List
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Body

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

Type:String[]
Position:3
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Charset

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

Den här parametern introducerades i PowerShell 6.0.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CssUri

Anger URI (Uniform Resource Identifier) för den sammanhängande formatmallen (CSS) som tillämpas på HTML-filen. URI:n ingår i en formatmallslänk i utdata.

Type:Uri
Aliases:cu, uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Fragment

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Head

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

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 skapar en tabell som visar egenskaperna för en samling eller en matris med objekt. Om du vill skapa en tabell med enskilda objekt använder du pipelineoperatorn för att skicka objekten till ConvertTo-Html.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Meta

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

Den här parametern introducerades i PowerShell 6.0.

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PostContent

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PreContent

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Property

Innehåller de angivna egenskaperna för objekten i HTML-koden. Värdet för parametern Egenskap 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, Centereller Right

Mer information finns i about_Calculated_Properties.

Type:Object[]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Title

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

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Transitional

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

Den här parametern introducerades i PowerShell 6.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

PSObject

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

Utdata

String

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

Kommentarer

Använd den här cmdleten genom att 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. ConvertTo-Html Därför skapas en tabell som visar de enskilda objekten. Om du till exempel skickar 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, ConvertTo-Html tar 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"\>