Freigeben über


ConvertTo-Html

Konvertiert .NET-Objekte in HTML, die in einem Webbrowser angezeigt werden können.

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

Beschreibung

Das cmdlet ConvertTo-Html konvertiert .NET-Objekte in HTML, die in einem Webbrowser angezeigt werden können. Mit diesem Cmdlet können Sie die Ausgabe eines Befehls auf einer Webseite anzeigen.

Sie können die Parameter von ConvertTo-Html verwenden, um Objekteigenschaften auszuwählen, eine Tabelle oder ein Listenformat anzugeben, den HTML-Seitentitel anzugeben, Text vor und nach dem Objekt hinzuzufügen und nur das Tabellen- oder Listenfragment anstelle einer strengen DTD-Seite zurückzugeben.

Wenn Sie mehrere Objekte an ConvertTo-Htmlübermitteln, erstellt PowerShell die Tabelle (oder Liste) basierend auf den Eigenschaften des ersten objekts, das Sie übermitteln. Wenn die verbleibenden Objekte nicht über eine der angegebenen Eigenschaften verfügen, ist der Eigenschaftswert dieses Objekts eine leere Zelle. Wenn die verbleibenden Objekte zusätzliche Eigenschaften aufweisen, sind diese Eigenschaftswerte nicht in der Datei enthalten.

Beispiele

Beispiel 1: Erstellen einer Webseite zum Anzeigen des Datums

ConvertTo-Html -InputObject (Get-Date)

Mit diesem Befehl wird eine HTML-Seite erstellt, die die Eigenschaften des aktuellen Datums anzeigt. Er verwendet den parameter InputObject, um die Ergebnisse eines Get-Date Befehls an das Cmdlet ConvertTo-Html zu übermitteln.

Beispiel 2: Erstellen einer Webseite zum Anzeigen von PowerShell-Aliasen

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

Mit diesem Befehl wird eine HTML-Seite erstellt, die die PowerShell-Aliase in der aktuellen Konsole auflistet.

Der Befehl verwendet das Cmdlet Get-Alias, um die Aliase abzurufen. Er verwendet den Pipelineoperator (|), um die Aliase an das Cmdlet ConvertTo-Html zu senden, wodurch die HTML-Seite erstellt wird. Der Befehl verwendet auch das Cmdlet Out-File, um den HTML-Code an die aliases.htm Datei zu senden.

Beispiel 3: Erstellen einer Webseite zum Anzeigen von PowerShell-Ereignissen

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

Dieser Befehl erstellt eine HTML-Seite namens pslog.htm, die die Ereignisse im Windows PowerShell-Ereignisprotokoll auf dem lokalen Computer anzeigt.

Es verwendet das Cmdlet Get-EventLog, um die Ereignisse im Windows PowerShell-Protokoll abzurufen, und verwendet dann den Pipelineoperator (|), um die Ereignisse an das Cmdlet ConvertTo-Html zu senden. Der Befehl verwendet auch das Cmdlet Out-File, um den HTML-Code an die pslog.htm Datei zu senden.

Der Befehl verwendet auch das Cmdlet Out-File, um den HTML-Code an die pslog.htm Datei zu senden.

Beispiel 4: Erstellen einer Webseite zum Anzeigen von Prozessen

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

Mit diesen Befehlen wird eine HTML-Seite erstellt und geöffnet, auf der der Name, der Pfad und das Unternehmen der Prozesse auf dem lokalen Computer aufgelistet sind.

Der erste Befehl verwendet das Cmdlet Get-Process, um Objekte abzurufen, die die auf dem Computer ausgeführten Prozesse darstellen. Der Befehl verwendet den Pipelineoperator (|), um die Prozessobjekte an das Cmdlet ConvertTo-Html zu senden.

Der Befehl verwendet den Parameter Property, um drei Eigenschaften der Prozessobjekte auszuwählen, die in die Tabelle eingeschlossen werden sollen. Der Befehl verwendet den parameter Title, um einen Titel für die HTML-Seite anzugeben. Der Befehl verwendet auch das Cmdlet Out-File, um den resultierenden HTML-Code an eine Datei mit dem Namen Proc.htmzu senden.

Der zweite Befehl verwendet das cmdlet Invoke-Item, um die Proc.htm im Standardbrowser zu öffnen.

Beispiel 5: Erstellen einer Webseite zum Anzeigen von Dienstobjekten

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

Mit diesem Befehl wird eine HTML-Seite der Dienstobjekte erstellt, die vom cmdlet Get-Service zurückgegeben werden. Der Befehl verwendet den CssUri Parameter, um ein Cascading Stylesheet für die HTML-Seite anzugeben.

Der CssUri Parameter fügt dem resultierenden HTML-Code ein zusätzliches <link rel="stylesheet" type="text/css" href="test.css">-Tag hinzu. Das HREF-Attribut im Tag enthält den Namen des Stylesheets.

Beispiel 6: Erstellen einer Webseite zum Anzeigen von Dienstobjekten

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

Mit diesem Befehl wird eine HTML-Seite der Dienstobjekte erstellt, die vom cmdlet Get-Service zurückgegeben werden. Der Befehl verwendet die As Parameter, um ein Listenformat anzugeben. Das Cmdlet Out-File sendet den resultierenden HTML-Code an die Services.htm Datei.

Beispiel 7: Erstellen einer Webtabelle für das aktuelle 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>

Dieser Befehl verwendet ConvertTo-Html, um eine HTML-Tabelle des aktuellen Datums zu generieren. Der Befehl verwendet das Cmdlet Get-Date, um das aktuelle Datum abzurufen. Es verwendet einen Pipelineoperator (|), um die Ergebnisse an das cmdlet ConvertTo-Html zu senden.

Der Befehl ConvertTo-Html enthält den Parameter Fragment, der die Ausgabe auf eine HTML-Tabelle beschränkt. Daher werden die anderen Elemente einer HTML-Seite, z. B. die <HEAD> und <BODY> Tags, weggelassen.

Beispiel 8: Erstellen einer Webseite zum Anzeigen von PowerShell-Ereignissen

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

Dieser Befehl verwendet das Cmdlet Get-EventLog, um Ereignisse aus dem Windows PowerShell-Ereignisprotokoll abzurufen.

Sie verwendet einen Pipelineoperator (|), um die Ereignisse an das Cmdlet ConvertTo-Html zu senden, wodurch die Ereignisse in das HTML-Format konvertiert werden.

Der befehl ConvertTo-Html verwendet den Parameter Property, um nur die ID, Levelund Task Eigenschaften des Ereignisses auszuwählen.

Beispiel 9: Erstellen einer Webseite zum Anzeigen angegebener Dienste

$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

Mit diesem Befehl wird eine Webseite erstellt und geöffnet, auf der die Dienste auf dem Computer angezeigt werden, die mit Abeginnen. Es verwendet die parameter Title, Body, PreContentund PostContent Parameter von ConvertTo-Html, um die Ausgabe anzupassen.

Der erste Teil des Befehls verwendet das Cmdlet Get-Service, um die Dienste auf dem Computer abzurufen, die mit Abeginnen. Der Befehl verwendet einen Pipelineoperator (|), um die Ergebnisse an das Cmdlet ConvertTo-Html zu senden. Der Befehl verwendet auch das Cmdlet Out-File, um die Ausgabe an die Services.htm Datei zu senden.

Ein Semikolon (;) beendet den ersten Befehl und startet einen zweiten Befehl, der das cmdlet Invoke-Item verwendet, um die Services.htm Datei im Standardbrowser zu öffnen.

Parameter

-As

Bestimmt, ob das Objekt als Tabelle oder Liste formatiert ist. Gültige Werte sind Table und List. Der Standardwert ist Table.

Der wert Table generiert eine HTML-Tabelle, die dem PowerShell-Tabellenformat ähnelt. In der Kopfzeile werden die Eigenschaftennamen angezeigt. Jede Tabellenzeile stellt ein Objekt dar und zeigt die Werte des Objekts für jede Eigenschaft an.

Der wert List generiert eine zweispaltige HTML-Tabelle für jedes Objekt, das dem PowerShell-Listenformat ähnelt. In der ersten Spalte wird der Eigenschaftenname angezeigt. In der zweiten Spalte wird der Eigenschaftswert angezeigt.

Typ:String
Zulässige Werte:Table, List
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Body

Gibt den Text an, der nach dem öffnenden <BODY> Tag hinzugefügt werden soll. Standardmäßig ist an dieser Position kein Text vorhanden.

Typ:String[]
Position:3
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-CssUri

Gibt den URI (Uniform Resource Identifier) des Cascading Stylesheets (CSS) an, das auf die HTML-Datei angewendet wird. Der URI ist in einer Stylesheet-Verknüpfung in der Ausgabe enthalten.

Typ:Uri
Aliase:cu, uri
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Fragment

Generiert nur eine HTML-Tabelle. Die Tags <HTML>, <HEAD>, <TITLE>und <BODY> werden weggelassen.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Head

Gibt den Inhalt des <HEAD>-Tags an. Der Standardwert ist <title\>HTML TABLE</title>. Wenn Sie den parameter Head verwenden, wird der parameter Title ignoriert.

Typ:String[]
Position:1
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InputObject

Gibt die Objekte an, die in HTML dargestellt werden sollen. Geben Sie eine Variable ein, die die Objekte enthält, oder geben Sie einen Befehl oder Ausdruck ein, der die Objekte abruft.

Wenn Sie diesen Parameter verwenden, um mehrere Objekte, z. B. alle Dienste auf einem Computer, zu übermitteln, erstellt ConvertTo-Html eine Tabelle, die die Eigenschaften einer Auflistung oder eines Arrays von Objekten anzeigt. Um eine Tabelle der einzelnen Objekte zu erstellen, verwenden Sie den Pipelineoperator, um die Objekte an ConvertTo-Htmlzu pipen.

Typ:PSObject
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-PostContent

Gibt Text an, der nach dem schließenden </TABLE> Tag hinzugefügt werden soll. Standardmäßig ist an dieser Position kein Text vorhanden.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-PreContent

Gibt Text an, der vor dem öffnenden <TABLE>-Tag hinzugefügt werden soll. Standardmäßig ist an dieser Position kein Text vorhanden.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Property

Enthält die angegebenen Eigenschaften der Objekte im HTML-Code. Der Wert des Property-Parameters kann eine neue berechnete Eigenschaft sein. Die berechnete Eigenschaft kann ein Skriptblock oder eine Hashtabelle sein. Gültige Schlüsselwertpaare sind:

  • Expression - <string> oder <script block>
  • FormatString - <string>
  • Width - <int32> - muss größer als 0 sein
  • Alignment - Wert kann Left, Centeroder Right

Weitere Informationen finden Sie unter about_Calculated_Properties.

Typ:Object[]
Position:0
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Title

Gibt einen Titel für die HTML-Datei an, d. h. den Text, der zwischen den <TITLE>-Tags angezeigt wird.

Typ:String
Position:2
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

PSObject

Sie können jedes Objekt an dieses Cmdlet weiterleiten.

Ausgaben

String

Dieses Cmdlet gibt ein Array von HTML-Zeichenfolgen zurück, die das konvertierte Objekt darstellen.

Hinweise

Um dieses Cmdlet zu verwenden, übergeben Sie ein oder mehrere Objekte an das Cmdlet, oder verwenden Sie den InputObject Parameter, um das Objekt anzugeben. Wenn die Eingabe aus mehreren Objekten besteht, ist die Ausgabe dieser beiden Methoden ziemlich unterschiedlich.

  • Wenn Sie mehrere Objekte an ein Cmdlet weiterleiten, sendet PowerShell die Objekte nacheinander an das Cmdlet. Daher erstellt ConvertTo-Html eine Tabelle, in der die einzelnen Objekte angezeigt werden. Wenn Sie z. B. die Prozesse auf einem Computer an ConvertTo-Htmlweitergeleitet haben, werden in der resultierenden Tabelle alle Prozesse angezeigt.

  • Wenn Sie den parameter InputObject verwenden, um mehrere Objekte zu senden, empfängt ConvertTo-Html diese Objekte als Auflistung oder als Array. Daher wird eine Tabelle erstellt, in der das Array und die zugehörigen Eigenschaften und nicht die Elemente im Array angezeigt werden. Wenn Sie z. B. InputObject- verwenden, um die Prozesse auf einem Computer an ConvertTo-Htmlzu übermitteln, zeigt die resultierende Tabelle ein Objektarray und dessen Eigenschaften an.

    Um die XHTML Strict DTD einzuhalten, wird das DOCTYPE Tag entsprechend geändert:

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