ConvertTo-Html

Převede objekty .NET na HTML, které lze zobrazit ve webovém prohlížeči.

Syntaxe

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

Rutina ConvertTo-Html převede objekty .NET na HTML, které lze zobrazit ve webovém prohlížeči. Tuto rutinu můžete použít k zobrazení výstupu příkazu na webové stránce.

Pomocí parametrů ConvertTo-Html můžete vybrat vlastnosti objektu, určit formát tabulky nebo seznamu, zadat název stránky HTML, přidat text před a za objekt a vrátit pouze fragment tabulky nebo seznamu místo striktní stránky DTD.

Když odešlete více objektů do ConvertTo-Html, PowerShell vytvoří tabulku (nebo seznam) na základě vlastností prvního objektu, který odešlete. Pokud zbývající objekty nemají jednu ze zadaných vlastností, hodnota vlastnosti tohoto objektu je prázdná buňka. Pokud zbývající objekty mají další vlastnosti, tyto hodnoty vlastností nejsou zahrnuty do souboru.

Příklady

Příklad 1: Vytvoření webové stránky pro zobrazení data

ConvertTo-Html -InputObject (Get-Date)

Tento příkaz vytvoří stránku HTML, která zobrazí vlastnosti aktuálního data. K odeslání výsledků příkazu do ConvertTo-Html rutiny používá parametr InputObject.Get-Date

Příklad 2: Vytvoření webové stránky pro zobrazení aliasů PowerShellu

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

Tento příkaz vytvoří stránku HTML se seznamem aliasů PowerShellu v aktuální konzole.

Příkaz používá rutinu Get-Alias k získání aliasů. Pomocí operátoru kanálu (|) odešle aliasy rutině ConvertTo-Html , která vytvoří stránku HTML. Příkaz také používá rutinu Out-File k odeslání kódu HTML do aliases.htm souboru.

Příklad 3: Vytvoření webové stránky pro zobrazení událostí PowerShellu

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

Tento příkaz vytvoří stránku HTML s názvem pslog.htm , která zobrazí události v protokolu událostí Prostředí Windows PowerShell v místním počítači.

Pomocí rutiny Get-EventLog získá události v protokolu Windows PowerShellu a pak pomocí operátoru kanálu (|) odešle události do rutiny ConvertTo-Html . Příkaz také používá rutinu Out-File k odeslání kódu HTML do pslog.htm souboru.

Příkaz také používá rutinu Out-File k odeslání kódu HTML do pslog.htm souboru.

Příklad 4: Vytvoření webové stránky pro zobrazení procesů

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

Tyto příkazy vytvoří a otevřou stránku HTML, která obsahuje název, cestu a společnost procesů v místním počítači.

První příkaz pomocí Get-Process rutiny získá objekty, které představují procesy spuštěné v počítači. Příkaz pomocí operátoru kanálu (|) odešle objekty procesu do rutiny ConvertTo-Html .

Příkaz pomocí parametru Property vybere tři vlastnosti procesních objektů, které mají být zahrnuty do tabulky. Příkaz pomocí parametru Title určuje název stránky HTML. Příkaz také pomocí rutiny Out-File odešle výsledný kód HTML do souboru s názvem Proc.htm.

Druhý příkaz používá rutinu Invoke-Item Proc.htm k otevření ve výchozím prohlížeči.

Příklad 5: Vytvoření webové stránky pro zobrazení objektů služby

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

Tento příkaz vytvoří stránku HTML objektů služby, které rutina Get-Service vrátí. Příkaz používá k zadání šablony stylů CSS pro stránku HTML parametr CssUri .

Parametr CssUri přidá do výsledného kódu HTML další <link rel="stylesheet" type="text/css" href="test.css"> značku. Atribut HREF ve značce obsahuje název šablony stylů.

Příklad 6: Vytvoření webové stránky pro zobrazení objektů služby

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

Tento příkaz vytvoří stránku HTML objektů služby, které rutina Get-Service vrátí. Příkaz používá parametr As k určení formátu seznamu. Out-File Rutina odešle výsledný kód HTML do Services.htm souboru.

Příklad 7: Vytvoření webové tabulky pro aktuální 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>

Tento příkaz používá ConvertTo-Html k vygenerování tabulky HTML aktuálního data. Příkaz pomocí rutiny Get-Date získá aktuální datum. K odeslání výsledků rutině ConvertTo-Html používá operátor kanálu (|).

Příkaz ConvertTo-Html obsahuje parametr Fragment , který omezuje výstup na tabulku HTML. V důsledku toho jsou ostatní prvky stránky HTML, jako <HEAD> jsou například značky <BODY> , vynechány.

Příklad 8: Vytvoření webové stránky pro zobrazení událostí PowerShellu

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

Tento příkaz používá rutinu Get-EventLog k získání událostí z protokolu událostí Windows PowerShellu.

Používá operátor kanálu (|) k odeslání událostí do ConvertTo-Html rutiny, která převádí události do formátu HTML.

Příkaz ConvertTo-Html pomocí parametru Property vybere pouze vlastnosti ID, úrovně a úlohy události.

Příklad 9: Vytvoření webové stránky pro zobrazení zadaných služeb

$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

Tento příkaz vytvoří a otevře webovou stránku, která zobrazí služby v počítači, který začíná A. K přizpůsobení výstupu používá parametry ConvertTo-Html Title, Body, PreContent a PostContent.

První část příkazu používá rutinu Get-Service k získání služeb v počítači, který začíná A. Příkaz pomocí operátoru kanálu (|) odešle výsledky rutině ConvertTo-Html . Příkaz také používá rutinu Out-File k odeslání výstupu do Services.htm souboru.

Středník (;) ukončí první příkaz a spustí druhý příkaz, který pomocí rutiny Invoke-Item otevře Services.htm soubor ve výchozím prohlížeči.

Příklad 10: Nastavení vlastností meta a znakové sady HTML

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

Tento příkaz vytvoří html pro webovou stránku s metaznačky pro aktualizaci, autora a klíčová slova. Znaková sada pro stránku je nastavená na UTF-8.

Příklad 11: Nastavení html na XHTML přechodné DTD

Get-Service | ConvertTo-HTML -Transitional

Tento příkaz nastaví DOCTYPE vrácený kód HTML na XHTML Transitional DTD.

Parametry

-As

Určuje, zda je objekt formátován jako tabulka nebo seznam. Platné hodnoty jsou Tabulka a Seznam. Výchozí hodnota je Tabulka.

Hodnota Tabulka vygeneruje tabulku HTML, která se podobá formátu tabulky PowerShellu. Řádek záhlaví zobrazuje názvy vlastností. Každý řádek tabulky představuje objekt a zobrazuje hodnoty objektu pro každou vlastnost.

Hodnota List vygeneruje tabulku HTML se dvěma sloupci pro každý objekt, který se podobá formátu seznamu PowerShellu. První sloupec zobrazí název vlastnosti. Druhý sloupec zobrazí hodnotu vlastnosti.

Typ:String
Přípustné hodnoty:Table, List
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Body

Určuje text, který se má přidat za levou <BODY> značku. Ve výchozím nastavení není v této pozici žádný text.

Typ:String[]
Position:3
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Charset

Určuje text, který se má přidat do počáteční <charset> značky. Ve výchozím nastavení není v této pozici žádný text.

Tento parametr byl představen v PowerShellu 6.0.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-CssUri

Určuje identifikátor URI (Uniform Resource Identifier) šablony stylů CSS (Cascading Style Sheet), který se použije u souboru HTML. Identifikátor URI je součástí odkazu šablony stylů ve výstupu.

Typ:Uri
Aliasy:cu, uri
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Fragment

Generuje pouze tabulku HTML. Vynechá se hodnota <HTML>, <HEAD>, <TITLE>a <BODY> značky.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Head

Určuje obsah značky <HEAD> . Výchozí hodnota je <title\>HTML TABLE</title>. Pokud použijete parametr Head , bude parametr Title ignorován.

Typ:String[]
Position:1
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-InputObject

Určuje objekty, které mají být reprezentovány v HTML. Zadejte proměnnou obsahující objekty nebo zadejte příkaz nebo výraz, který objekty získá.

Pokud tento parametr použijete k odeslání více objektů, například všech služeb v počítači, vytvoří tabulku, ConvertTo-Html která zobrazuje vlastnosti kolekce nebo pole objektů. Chcete-li vytvořit tabulku jednotlivých objektů, pomocí operátoru kanálu řaděte objekty do ConvertTo-Html.

Typ:PSObject
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Meta

Určuje text, který se má přidat do počáteční <meta> značky. Ve výchozím nastavení není v této pozici žádný text.

Tento parametr byl představen v PowerShellu 6.0.

Typ:Hashtable
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-PostContent

Určuje text, který se má přidat za pravou </TABLE> značku. Ve výchozím nastavení není v této pozici žádný text.

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-PreContent

Určuje text, který se má přidat před počáteční <TABLE> značku. Ve výchozím nastavení není v této pozici žádný text.

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Property

Zahrnuje zadané vlastnosti objektů v HTML. Hodnota parametru Property může být nová počítaná vlastnost. Počítaná vlastnost může být blok skriptu nebo tabulka hash. Platné páry klíč-hodnota jsou:

  • Name (nebo popisek) – <string> (přidáno v PowerShellu 6.x)
  • Expression - <string> nebo <script block>
  • FormatString - <string>
  • Width - <int32> - musí být větší než 0
  • Alignment - hodnota může být Left, Centernebo Right

Další informace najdete v tématu about_Calculated_Properties.

Typ:Object[]
Position:0
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Title

Určuje název souboru HTML, tj. text, který se zobrazí mezi <TITLE> značkami.

Typ:String
Position:2
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Transitional

Změní přechod DOCTYPE XHTML DTD, výchozí DOCTYPE hodnota je XHTML Strict DTD.

Tento parametr byl představen v PowerShellu 6.0.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

PSObject

Do této rutiny můžete převést libovolný objekt.

Výstupy

String

Tato rutina vrátí pole řetězců HTML představujících převedený objekt.

Poznámky

Chcete-li použít tuto rutinu, předávejte jeden nebo více objektů do rutiny nebo použijte parametr InputObject k určení objektu. Když se vstup skládá z více objektů, výstup těchto dvou metod je poměrně odlišný.

  • Když do rutiny předáte více objektů, PowerShell odešle objekty do rutiny po jednom. V důsledku toho vytvoří tabulku, ConvertTo-Html která zobrazí jednotlivé objekty. Pokud například procesy v počítači ConvertTo-Htmlpředáte, zobrazí výsledná tabulka všechny procesy.

  • Když použijete parametr InputObject k odeslání více objektů, ConvertTo-Html obdrží tyto objekty jako kolekci nebo jako pole. V důsledku toho vytvoří tabulku, která zobrazí pole a její vlastnosti, nikoli položky v poli. Pokud například použijete InputObject k odeslání procesů v počítači do ConvertTo-Html, výsledná tabulka zobrazí pole objektů a jeho vlastnosti.

    Aby bylo v souladu s XHTML Strict DTD, DOCTYPE značka se odpovídajícím způsobem upraví:

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