ConvertTo-Html

Converteert .NET-objecten naar HTML die in een webbrowser kunnen worden weergegeven.

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

Met de ConvertTo-Html cmdlet worden .NET-objecten geconverteerd naar HTML die in een webbrowser kunnen worden weergegeven. U kunt deze cmdlet gebruiken om de uitvoer van een opdracht op een webpagina weer te geven.

U kunt de parameters van het selecteren van ConvertTo-Html objecteigenschappen gebruiken, een tabel- of lijstindeling opgeven, de titel van de HTML-pagina opgeven, tekst voor en na het object toevoegen en alleen de tabel of lijstfragment retourneren, in plaats van een strikte DTD-pagina.

Wanneer u meerdere objecten naar ConvertTo-Htmlverzendt, maakt PowerShell de tabel (of lijst) op basis van de eigenschappen van het eerste object dat u verzendt. Als de resterende objecten geen van de opgegeven eigenschappen hebben, is de eigenschapswaarde van dat object een lege cel. Als de resterende objecten aanvullende eigenschappen hebben, worden deze eigenschapswaarden niet opgenomen in het bestand.

Voorbeelden

Voorbeeld 1: Een webpagina maken om de datum weer te geven

ConvertTo-Html -InputObject (Get-Date)

Met deze opdracht maakt u een HTML-pagina die de eigenschappen van de huidige datum weergeeft. Hierbij wordt de parameter InputObject gebruikt om de resultaten van een Get-Date opdracht naar de ConvertTo-Html cmdlet te verzenden.

Voorbeeld 2: Een webpagina maken om PowerShell-aliassen weer te geven

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

Met deze opdracht maakt u een HTML-pagina met de PowerShell-aliassen in de huidige console.

De opdracht gebruikt de Get-Alias cmdlet om de aliassen op te halen. Hierbij wordt de pijplijnoperator (|) gebruikt om de aliassen naar de ConvertTo-Html cmdlet te verzenden, waardoor de HTML-pagina wordt gemaakt. De opdracht gebruikt ook de Out-File cmdlet om de HTML-code naar het aliases.htm bestand te verzenden.

Voorbeeld 3: Een webpagina maken om PowerShell-gebeurtenissen weer te geven

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

Met deze opdracht maakt u een HTML-pagina met de naam die de gebeurtenissen weergeeft pslog.htm in het Windows PowerShell-gebeurtenislogboek op de lokale computer.

De cmdlet gebruikt de Get-EventLog cmdlet om de gebeurtenissen op te halen in het Windows PowerShell-logboek en gebruikt vervolgens de pijplijnoperator (|) om de gebeurtenissen naar de ConvertTo-Html cmdlet te verzenden. De opdracht gebruikt ook de Out-File cmdlet om de HTML-code naar het pslog.htm bestand te verzenden.

De opdracht gebruikt ook de Out-File cmdlet om de HTML-code naar het pslog.htm bestand te verzenden.

Voorbeeld 4: Een webpagina maken om processen weer te geven

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

Met deze opdrachten maakt en opent u een HTML-pagina met de naam, het pad en het bedrijf van de processen op de lokale computer.

De eerste opdracht gebruikt de Get-Process cmdlet om objecten op te halen die de processen vertegenwoordigen die op de computer worden uitgevoerd. De opdracht maakt gebruik van de pijplijnoperator (|) om de procesobjecten naar de ConvertTo-Html cmdlet te verzenden.

De opdracht gebruikt de parameter Eigenschap om drie eigenschappen van de procesobjecten te selecteren die in de tabel moeten worden opgenomen. De opdracht gebruikt de parameter Titel om een titel op te geven voor de HTML-pagina. De opdracht gebruikt ook de cmdlet om de resulterende HTML te verzenden naar een bestand met de Out-File naam Proc.htm.

De tweede opdracht gebruikt de Invoke-Item cmdlet om de Proc.htm in de standaardbrowser te openen.

Voorbeeld 5: Een webpagina maken om serviceobjecten weer te geven

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

Met deze opdracht maakt u een HTML-pagina van de serviceobjecten die door de Get-Service cmdlet worden geretourneerd. De opdracht maakt gebruik van de CssUri-parameter om een trapsgewijs opmaakmodel voor de HTML-pagina op te geven.

De cssUri-parameter voegt een extra <link rel="stylesheet" type="text/css" href="test.css"> tag toe aan de resulterende HTML. Het HREF-kenmerk in de tag bevat de naam van het opmaakmodel.

Voorbeeld 6: Een webpagina maken om serviceobjecten weer te geven

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

Met deze opdracht maakt u een HTML-pagina van de serviceobjecten die door de Get-Service cmdlet worden geretourneerd. De opdracht gebruikt de parameter As om een lijstindeling op te geven. De cmdlet Out-File verzendt de resulterende HTML naar het Services.htm bestand.

Voorbeeld 7: Een webtabel maken voor de huidige 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>

Met deze opdracht wordt een ConvertTo-Html HTML-tabel van de huidige datum gegenereerd. De opdracht gebruikt de Get-Date cmdlet om de huidige datum op te halen. Er wordt een pijplijnoperator (|) gebruikt om de resultaten naar de ConvertTo-Html cmdlet te verzenden.

De ConvertTo-Html opdracht bevat de parameter Fragment , waarmee de uitvoer wordt beperkt tot een HTML-tabel. Als gevolg hiervan worden de andere elementen van een HTML-pagina, zoals de <HEAD> en <BODY> tags, weggelaten.

Voorbeeld 8: Een webpagina maken om PowerShell-gebeurtenissen weer te geven

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

Met deze opdracht wordt de Get-EventLog cmdlet gebruikt om gebeurtenissen op te halen uit het Windows PowerShell-gebeurtenislogboek.

Er wordt een pijplijnoperator (|) gebruikt om de gebeurtenissen naar de ConvertTo-Html cmdlet te verzenden, waarmee de gebeurtenissen worden geconverteerd naar HTML-indeling.

De ConvertTo-Html opdracht gebruikt de parameter Eigenschap om alleen de eigenschappen ID, Niveau en Taak van de gebeurtenis te selecteren.

Voorbeeld 9: Een webpagina maken om de opgegeven services weer te geven

$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

Met deze opdracht wordt een webpagina gemaakt en geopend die de services weergeeft op de computer die beginnen met A. Hierbij worden de parameters Title, Body, PreContent en PostContent gebruikt ConvertTo-Html om de uitvoer aan te passen.

Het eerste deel van de opdracht gebruikt de Get-Service cmdlet om de services op te halen op de computer die beginnen met A. De opdracht maakt gebruik van een pijplijnoperator (|) om de resultaten naar de ConvertTo-Html cmdlet te verzenden. De opdracht gebruikt ook de Out-File cmdlet om de uitvoer naar het Services.htm bestand te verzenden.

Een puntkomma (;) beëindigt de eerste opdracht en start een tweede opdracht, die de Invoke-Item cmdlet gebruikt om het Services.htm bestand in de standaardbrowser te openen.

Voorbeeld 10: De meta-eigenschappen en tekenset van de HTML instellen

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

Met deze opdracht maakt u de HTML voor een webpagina met de metatags voor vernieuwen, schrijven en trefwoorden. De tekenset voor de pagina is ingesteld op UTF-8

Voorbeeld 11: De HTML instellen op XHTML Transition DTD

Get-Service | ConvertTo-HTML -Transitional

Met deze opdracht wordt de DOCTYPE geretourneerde HTML ingesteld op XHTML Transition DTD

Parameters

-As

Bepaalt of het object is opgemaakt als een tabel of een lijst. Geldige waarden zijn Tabel en Lijst. De standaardwaarde is Tabel.

Met de tabelwaarde wordt een HTML-tabel gegenereerd die lijkt op de PowerShell-tabelindeling. In de veldnamenrij worden de eigenschapsnamen weergegeven. Elke tabelrij vertegenwoordigt een object en geeft de waarden van het object voor elke eigenschap weer.

De lijstwaarde genereert een HTML-tabel met twee kolommen voor elk object dat lijkt op de PowerShell-lijstindeling. In de eerste kolom wordt de naam van de eigenschap weergegeven. In de tweede kolom wordt de eigenschapswaarde weergegeven.

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

-Body

Hiermee geeft u de tekst op die moet worden toegevoegd na de openingstag <BODY> . Standaard is er geen tekst op die positie.

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

-Charset

Hiermee geeft u tekst op die moet worden toegevoegd aan de openingstag <charset> . Standaard is er geen tekst op die positie.

Deze parameter is geïntroduceerd in PowerShell 6.0.

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

-CssUri

Hiermee geeft u de URI (Uniform Resource Identifier) van het trapsgewijze opmaakmodel (CSS) op dat wordt toegepast op het HTML-bestand. De URI is opgenomen in een opmaakmodelkoppeling in de uitvoer.

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

-Fragment

Hiermee wordt alleen een HTML-tabel gegenereerd. De <HTML>, <HEAD>en <TITLE><BODY> tags worden weggelaten.

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

-Head

Hiermee geeft u de inhoud van de <HEAD> tag. De standaardwaarde is <title\>HTML TABLE</title>. Als u de parameter Head gebruikt, wordt de parameter Title genegeerd.

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

-InputObject

Hiermee geeft u de objecten die moeten worden weergegeven in HTML. Voer een variabele in die de objecten bevat of typ een opdracht of expressie waarmee de objecten worden opgehaald.

Als u deze parameter gebruikt om meerdere objecten, zoals alle services op een computer, te verzenden, ConvertTo-Html maakt u een tabel waarin de eigenschappen van een verzameling of een matrix met objecten worden weergegeven. Als u een tabel van de afzonderlijke objecten wilt maken, gebruikt u de pijplijnoperator om de objecten door te geven aan ConvertTo-Html.

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

-Meta

Hiermee geeft u tekst op die moet worden toegevoegd aan de openingstag <meta> . Standaard is er geen tekst op die positie.

Deze parameter is geïntroduceerd in PowerShell 6.0.

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

-PostContent

Hiermee geeft u tekst op die moet worden toegevoegd na de afsluitende </TABLE> tag. Standaard is er geen tekst op die positie.

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

-PreContent

Hiermee geeft u tekst op die moet worden toegevoegd vóór de openingstag <TABLE> . Standaard is er geen tekst op die positie.

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

-Property

Bevat de opgegeven eigenschappen van de objecten in de HTML. De waarde van de parameter Eigenschap kan een nieuwe berekende eigenschap zijn. De berekende eigenschap kan een scriptblok of een hash-tabel zijn. Geldige sleutel-waardeparen zijn:

  • Name (of label) - <string> (toegevoegd in PowerShell 6.x)
  • Expression - <string> of <script block>
  • FormatString - <string>
  • Width - <int32> - moet groter zijn dan 0
  • Alignment - waarde kan zijn Left, Centerof Right

Zie about_Calculated_Properties voor meer informatie.

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

-Title

Hiermee geeft u een titel voor het HTML-bestand, dat wil gezegd, de tekst die tussen de <TITLE> tags wordt weergegeven.

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

-Transitional

Wijzigt de DOCTYPE XHTML-overgangs-DTD, standaard DOCTYPE is XHTML Strict DTD.

Deze parameter is geïntroduceerd in PowerShell 6.0.

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

Invoerwaarden

PSObject

U kunt elk object doorsluisen naar deze cmdlet.

Uitvoerwaarden

String

Deze cmdlet retourneert een matrix met tekenreeksen van HTML die het geconverteerde object vertegenwoordigen.

Notities

Als u deze cmdlet wilt gebruiken, geeft u een of meer objecten door aan de cmdlet of gebruikt u de parameter InputObject om het object op te geven. Wanneer de invoer uit meerdere objecten bestaat, is de uitvoer van deze twee methoden heel anders.

  • Wanneer u meerdere objecten doorstuurt naar een cmdlet, verzendt PowerShell de objecten één voor één naar de cmdlet. Als gevolg hiervan ConvertTo-Html maakt u een tabel waarin de afzonderlijke objecten worden weergegeven. Als u bijvoorbeeld de processen op een computer doorsluist, ConvertTo-Htmlworden in de resulterende tabel alle processen weergegeven.

  • Wanneer u de parameter InputObject gebruikt om meerdere objecten te verzenden, ConvertTo-Html ontvangt u deze objecten als een verzameling of als matrix. Hierdoor wordt er een tabel gemaakt waarin de matrix en de eigenschappen worden weergegeven, niet de items in de matrix. Als u bijvoorbeeld InputObject gebruikt om de processen op een computer naar te ConvertTo-Htmlverzenden, geeft de resulterende tabel een objectmatrix en de bijbehorende eigenschappen weer.

    Om te voldoen aan de XHTML Strict DTD, wordt de DOCTYPE tag dienovereenkomstig gewijzigd:

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