Freigeben über


ConvertTo-Html

Konvertiert Microsoft .NET Framework-Objekte in HTML, das in einem Webbrowser angezeigt werden kann.

Syntax

Page (Standard)

ConvertTo-Html
    [[-Property] <Object[]>]
    [[-Body] <String[]>]
    [[-Head] <String[]>]
    [[-Title] <String>]
    [-InputObject <PSObject>]
    [-As <String>]
    [-CssUri <Uri>]
    [-PostContent <String[]>]
    [-PreContent <String[]>]
    [<CommonParameters>]

Fragment

ConvertTo-Html
    [[-Property] <Object[]>]
    [-InputObject <PSObject>]
    [-As <String>]
    [-Fragment]
    [-PostContent <String[]>]
    [-PreContent <String[]>]
    [<CommonParameters>]

Beschreibung

Das Cmdlet ConvertTo-Html konvertiert .NET Framework-Objekte in HTML, das in einem Webbrowser angezeigt werden kann. 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, ein Tabellen- oder Listenformat anzugeben, den HTML-Seitentitel anzugeben, Text vor und nach dem Objekt hinzuzufügen und nur das Tabellen- oder Listenfragment anstelle einer strikten DTD-Seite zurückzugeben.

Wenn Sie mehrere Objekte an ConvertTo-Html übermitteln, erstellt Windows PowerShell die Tabelle oder eine 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

PS C:\> ConvertTo-Html -InputObject (Get-Date)

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

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

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

Mit diesem Befehl wird eine HTML-Seite erstellt, auf der die Windows PowerShell-Aliase in der aktuellen Konsole aufgelistet sind.

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, das die HTML-Seite erstellt. 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

PS C:\> Get-EventLog -LogName "Windows PowerShell" | ConvertTo-Html | Out-File pslog.htm

Mit diesem Befehl wird eine HTML-Seite mit dem Namen pslog.htm erstellt, auf der die Ereignisse im Windows PowerShell-Ereignisprotokoll auf dem lokalen Computer angezeigt werden.

Er verwendet das Cmdlet Get-EventLog, um die Ereignisse im Windows PowerShell-Protokoll abzurufen, und sendet 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.

Beispiel 4: Erstellen einer Webseite zum Anzeigen von Prozessen

PS C:\> Get-Process | ConvertTo-Html -Property Name, Path, Company -Title "Process Information" | Out-File proc.htm; ii 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.

Im ersten Befehl wird das Cmdlet Get-Process verwendet, 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 (alias = ii), um den Proc.htm im Standardbrowser zu öffnen. Die beiden Befehle werden durch ein Semikolon (;)) getrennt.

Beispiel 5: Erstellen einer Webseite zum Anzeigen von Dienstobjekten

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

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

Der Parameter CssUri fügt dem resultierenden HTML-Code einen zusätzlichen <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

PS C:\> 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 wird. Der Befehl verwendet die As Parameter, um ein Listenformat anzugeben. Das Cmdlet sendet Out-File den resultierenden HTML-Code an die Services.htm Datei.

Beispiel 7: Erstellen einer Webtabelle für das aktuelle Datum

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>

Dieser Befehl verwendet ConvertTo-Html, um eine HTML-Tabelle mit dem aktuellen Datum 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 (mit Alias als cth) zu senden.

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

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

PS C:\> Get-EventLog -Log "Windows PowerShell" | ConvertTo-Html -Property id, level, task

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

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

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

Beispiel 9: Erstellen einer Webseite zum Anzeigen angegebener Dienste

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

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

Im ersten Teil des Befehls wird das Cmdlet Get-Service verwendet, um die Dienste auf dem Computer abzurufen, die mit A beginnen. 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 (alias = "ii") verwendet, um die Services.htm Datei im Standardbrowser zu öffnen.

Parameter

-As

Gibt an, ob das Objekt als Tabelle oder als Liste formatiert ist. Die zulässigen Werte für diesen Parameter sind: Tabelle und Liste. Der Standardwert ist Tabelle.

Der Tabellenwert generiert eine HTML-Tabelle, die dem Windows 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 List-Wert generiert für jedes Objekt eine zweispaltige HTML-Tabelle, die dem Windows PowerShell-Listenformat ähnelt. In der ersten Spalte wird der Name der Eigenschaft angezeigt. In der zweiten Spalte wird der Eigenschaftswert angezeigt.

Parametereigenschaften

Typ:String
Standardwert:None
Zulässige Werte:Table, List
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Body

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

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

Page
Position:3
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten: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.

Parametereigenschaften

Typ:Uri
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:Cu, URI

Parametersätze

Page
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Fragment

Gibt an, dass mit diesem Cmdlet nur eine HTML-Tabelle generiert wird. Die Tags HTML, HEAD, TITLE und BODY werden weggelassen.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

Fragment
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Head

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

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

Page
Position:1
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten: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 einen Ausdruck ein, durch den die Objekte abgerufen werden.

Wenn Sie diesen Parameter verwenden, um mehrere Objekte zu übermitteln, z. B. alle Dienste auf einem Computer, erstellt ConvertTo-Html eine Tabelle, in der die Eigenschaften einer Auflistung oder eines Arrays von Objekten angezeigt werden (System.Object[]). Um eine Tabelle mit den einzelnen Objekten zu erstellen, verwenden Sie den Pipelineoperator, um die Objekte über die Pipeline an ConvertTo-Html zu übergeben.

Parametereigenschaften

Typ:PSObject
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-PostContent

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

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-PreContent

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

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Property

Gibt die Eigenschaften der Objekte im HTML-Code an. Der Wert des Property-Parameters kann eine neue berechnete Eigenschaft sein. Verwenden Sie zum Erstellen einer berechneten Eigenschaft eine Hashtabelle. Gültige Schlüssel sind:

  • Beschriftungszeichenfolge <> (im Gegensatz zu Select-Object oder Format-Table wird der Schlüssel Name nicht unterstützt)
  • Ausdruck <Zeichenfolge> oder <Skriptblocks>

Parametereigenschaften

Typ:

Object[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:0
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Title

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

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

Page
Position:2
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

PSObject

Sie können jedes .NET-Objekt über die Pipeline an ConvertTo-Html übergeben.

Ausgaben

System.String or System.Xml.XmlDocument

Dieses Cmdlet gibt eine Reihe von Zeichenfolgen zurück, die gültigen HTML-Code enthalten.

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 über die Pipeline an ein Cmdlet übergeben, sendet Windows PowerShell die Objekte nacheinander an das Cmdlet. Als Ergebnis erstellt ConvertTo-Html eine Tabelle, in der die einzelnen Objekte angezeigt werden. Wenn Sie z. B. die Prozesse auf einem Computer über die Pipeline an ConvertTo-Html übergeben, werden in der resultierenden Tabelle alle Prozesse angezeigt.

    • Wenn Sie den InputObject-Parameter verwenden, um mehrere Objekte zu übermitteln, 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-Html zu übermitteln, zeigt die resultierende Tabelle ein Objektarray (System.Object[]) und dessen Eigenschaften an.

    Um der XHTML Strict DTD zu entsprechen, 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">)