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 i 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 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

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 , som 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

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 pslog.htm-filen.

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 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 Get-Service-cmdleten returnerar. Kommandot använder cssuri-parametern för att ange en sammanhängande formatmall för HTML-sidan.

CssUri-parametern 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 Get-Service-cmdleten 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 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 (aliaset 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-Htmlanvänder egenskapsparametern 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 de tjänster på datorn som börjar med A. Den använder parametrarna Title, Body, PreContent och PostContent i 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å den dator 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 (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. Godkända värden för den här parametern är: Tabell och Lista. Standardvärdet är Tabell.

Tabellvärdet genererar en HTML-tabell som liknar Windows PowerShell tabellformat. 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 listformat. 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 texten, som en matris, som ska läggas till efter den inledande <BODY-taggen> . 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

-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

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

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, 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 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

-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 en matris med text som ska läggas till innan table-taggen> öppnas<. 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

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

  • Etikettsträng <> (till skillnad från Select-Object eller formattabell stöds inte namnnyckeln)
  • Uttryckssträng <> eller <skriptblock>
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 TITLE-taggarna<>.

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 denna cmdlet 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 skickar processerna på en dator till 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">)