Dela via


ConvertTo-Html

Konverterar Microsoft .NET Framework-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[]>]
              [<CommonParameters>]
ConvertTo-Html
              [-InputObject <PSObject>]
              [[-Property] <Object[]>]
              [-As <String>]
              [-Fragment]
              [-PostContent <String[]>]
              [-PreContent <String[]>]
              [<CommonParameters>]

Description

Cmdleten ConvertTo-Html konverterar .NET Framework-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 för ConvertTo-Html- för att välja objektegenskaper, ange ett tabell- eller listformat, ange HTML-sidrubriken, lägga till text före och efter objektet och endast returnera tabellen eller listfragmentet i stället för en strikt DTD-sida.

När du skickar flera objekt till ConvertTo-Html-skapar Windows PowerShell tabellen eller en lista 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

PS C:\> 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

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

Det här kommandot skapar en HTML-sida som visar Windows PowerShell-alias 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 filen aliases.htm.

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

PS C:\> 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 filen pslog.htm.

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

PS C:\> Get-Process | ConvertTo-Html -Property Name, Path, Company -Title "Process Information" | Out-File proc.htm; ii 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 Title 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 (alias = ii) för att öppna Proc.htm i standardwebbläsaren. De två kommandona avgränsas med ett semikolon (;).

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

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

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.

Parametern CssUri lägger till ytterligare en <länkrel="stylesheet" type="text/css"/ href="test.css"> tagg till html-koden. HREF-attributet i taggen innehåller namnet på formatmallen.

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

PS C:\> 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

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>

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 (alias som cth).

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

PS C:\> 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 Property för att endast välja ID-, nivå- och aktivitetsegenskaperna för händelsen.

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

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

Det här kommandot skapar och öppnar en webbsida som visar tjänsterna på datorn som börjar med A. Den använder Title, Body, PreContentoch PostContent parametrar för ConvertTo-Html 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 filen Services.htm.

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

Parametrar

-As

Anger om objektet är formaterat som en tabell eller en lista. De godtagbara värdena för den här parametern är: Tabell och Lista. Standardvärdet är Tabell.

Tabellvärdet genererar en HTML-tabell som liknar Windows 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 Windows 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 texten som en matris som ska läggas till efter <body-taggen> öppnas. 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

-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

Anger att denna cmdlet endast genererar 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> som en matris. Standardvärdet är <rubrik>HTML TABLE</title>. Om du använder parametern Head ignoreras parametern Title.

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, skapar ConvertTo-Html en tabell som visar egenskaperna för en samling eller en matris med objekt (System.Object[]). 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

-PostContent

Anger text som ska läggas till efter taggen </TABLE>. 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 en matris med text som ska läggas till innan du öppnar <TABLE-> tagg. 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

Anger egenskaperna för objekten i HTML-koden. Värdet för parametern Property kan vara en ny beräknad egenskap. Om du vill skapa en beräknad egenskap använder du en hash-tabell. Giltiga nycklar är:

  • Etikett <sträng> (till skillnad från Select-Object eller formattabell stöds inte namnnyckeln)
  • Uttryck <sträng> eller <skriptblock>
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

Indata

PSObject

Du kan skicka alla .NET-objekt till ConvertTo-Html-.

Utdata

System.String or System.Xml.XmlDocument

Den här cmdleten returnerar en serie strängar som utgör giltig HTML.

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 Windows PowerShell objekten till cmdleten en i taget. Därför skapar ConvertTo-Html- en tabell som visar de enskilda objekten. Om du till exempel rör processerna på en dator för att ConvertTo-Html-visar den resulterande tabellen alla processer.

    • När du använder parametern InputObject för att skicka flera objekt tar ConvertTo-Html- 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-Html-visar den resulterande tabellen en objektmatris (System.Object[]) och dess egenskaper.

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

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