Udostępnij za pośrednictwem


ConvertTo-Html

Konwertuje obiekty platformy .NET na kod HTML, który można wyświetlić w przeglądarce sieci Web.

Składnia

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

Opis

Polecenie ConvertTo-Html cmdlet konwertuje obiekty platformy .NET na kod HTML, który można wyświetlić w przeglądarce internetowej. To polecenie cmdlet służy do wyświetlania danych wyjściowych polecenia na stronie sieci Web.

Możesz użyć parametrów ConvertTo-Html , aby wybrać właściwości obiektu, określić tabelę lub format listy, określić tytuł strony HTML, dodać tekst przed i po obiekcie oraz zwrócić tylko tabelę lub fragment listy, zamiast ścisłej strony DTD.

Po przesłaniu wielu obiektów do ConvertTo-Htmlprogramu PowerShell tworzy tabelę (lub listę) na podstawie właściwości pierwszego przesyłanego obiektu. Jeśli pozostałe obiekty nie mają jednej z określonych właściwości, wartość właściwości tego obiektu jest pustą komórką. Jeśli pozostałe obiekty mają dodatkowe właściwości, te wartości właściwości nie są uwzględniane w pliku.

Przykłady

Przykład 1. Tworzenie strony internetowej w celu wyświetlenia daty

ConvertTo-Html -InputObject (Get-Date)

To polecenie tworzy stronę HTML, która wyświetla właściwości bieżącej daty. Używa parametru InputObject , aby przesłać wyniki Get-Date polecenia do ConvertTo-Html polecenia cmdlet.

Przykład 2. Tworzenie strony internetowej w celu wyświetlenia aliasów programu PowerShell

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

To polecenie tworzy stronę HTML zawierającą aliasy programu PowerShell w bieżącej konsoli.

Polecenie używa Get-Alias polecenia cmdlet do pobrania aliasów. Używa operatora potoku (|), aby wysłać aliasy do ConvertTo-Html polecenia cmdlet, które tworzy stronę HTML. Polecenie używa Out-File również polecenia cmdlet do wysyłania kodu HTML do aliases.htm pliku.

Przykład 3. Tworzenie strony internetowej w celu wyświetlenia zdarzeń programu PowerShell

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

To polecenie tworzy stronę HTML o nazwie pslog.htm , która wyświetla zdarzenia w dzienniku zdarzeń programu Windows PowerShell na komputerze lokalnym.

Używa Get-EventLog polecenia cmdlet do pobierania zdarzeń w dzienniku programu Windows PowerShell, a następnie używa operatora potoku (|) do wysyłania zdarzeń do ConvertTo-Html polecenia cmdlet. Polecenie używa Out-File również polecenia cmdlet do wysyłania kodu HTML do pslog.htm pliku.

Polecenie używa Out-File również polecenia cmdlet do wysyłania kodu HTML do pslog.htm pliku.

Przykład 4. Tworzenie strony internetowej do wyświetlania procesów

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

Te polecenia tworzą i otwierają stronę HTML zawierającą nazwę, ścieżkę i firmę procesów na komputerze lokalnym.

Pierwsze polecenie używa Get-Process polecenia cmdlet do pobierania obiektów reprezentujących procesy uruchomione na komputerze. Polecenie używa operatora potoku (|) do wysyłania obiektów procesu do ConvertTo-Html polecenia cmdlet.

Polecenie używa parametru Property , aby wybrać trzy właściwości obiektów procesu, które mają zostać uwzględnione w tabeli. Polecenie używa parametru Title , aby określić tytuł strony HTML. Polecenie używa Out-File również polecenia cmdlet do wysyłania wynikowego kodu HTML do pliku o nazwie Proc.htm.

Drugie polecenie używa Invoke-Item polecenia cmdlet do otwarcia Proc.htm w domyślnej przeglądarce.

Przykład 5. Tworzenie strony internetowej w celu wyświetlania obiektów usługi

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

To polecenie tworzy stronę HTML obiektów usługi zwracanych przez Get-Service polecenie cmdlet. Polecenie używa parametru CssUri , aby określić kaskadowy arkusz stylów dla strony HTML.

Parametr CssUri dodaje dodatkowy <link rel="stylesheet" type="text/css" href="test.css"> tag do wynikowego kodu HTML. Atrybut HREF w tagu zawiera nazwę arkusza stylów.

Przykład 6. Tworzenie strony internetowej w celu wyświetlania obiektów usługi

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

To polecenie tworzy stronę HTML obiektów usługi zwracanych przez Get-Service polecenie cmdlet. Polecenie używa parametru As do określenia formatu listy. Polecenie cmdlet Out-File wysyła wynikowy kod HTML do Services.htm pliku.

Przykład 7. Tworzenie tabeli internetowej dla bieżącej daty

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>

To polecenie służy ConvertTo-Html do generowania tabeli HTML bieżącej daty. Polecenie używa Get-Date polecenia cmdlet , aby uzyskać bieżącą datę. Używa operatora potoku (|), aby wysłać wyniki do ConvertTo-Html polecenia cmdlet.

Polecenie ConvertTo-Html zawiera parametr Fragment , który ogranicza dane wyjściowe do tabeli HTML. W związku z tym inne elementy strony HTML, takie jak <HEAD> tagi i <BODY> , zostaną pominięte.

Przykład 8. Tworzenie strony internetowej w celu wyświetlenia zdarzeń programu PowerShell

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

To polecenie używa Get-EventLog polecenia cmdlet do pobierania zdarzeń z dziennika zdarzeń programu Windows PowerShell.

Używa operatora potoku (|) do wysyłania zdarzeń do ConvertTo-Html polecenia cmdlet, które konwertuje zdarzenia na format HTML.

Polecenie ConvertTo-Html używa parametru Property , aby wybrać tylko właściwości ID, Level i Task zdarzenia.

Przykład 9. Tworzenie strony internetowej w celu wyświetlenia określonych usług

$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

To polecenie tworzy i otwiera stronę sieci Web, która wyświetla usługi na komputerze rozpoczynającym się od A. Używa on parametrów Title, Body, PreContent i PostContent w ConvertTo-Html celu dostosowania danych wyjściowych.

Pierwsza część polecenia używa Get-Service polecenia cmdlet do pobrania usług na komputerze, który rozpoczyna się od A. Polecenie używa operatora potoku (|), aby wysłać wyniki do ConvertTo-Html polecenia cmdlet. Polecenie używa Out-File również polecenia cmdlet do wysyłania danych wyjściowych Services.htm do pliku.

Średnik (;) kończy pierwsze polecenie i uruchamia drugie polecenie, które używa Invoke-Item polecenia cmdlet do otwarcia Services.htm pliku w domyślnej przeglądarce.

Przykład 10: Ustawianie właściwości meta i zestawu znaków w kodzie HTML

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

To polecenie tworzy kod HTML dla strony internetowej z tagami meta na potrzeby odświeżania, tworzenia i słów kluczowych. Zestaw znaków dla strony jest ustawiony na wartość UTF-8

Przykład 11: Ustawienie kodu HTML na XHTML — przejściowy kod DTD

Get-Service | ConvertTo-HTML -Transitional

To polecenie ustawia DOCTYPE zwracany kod HTML na kod DTD przejściowy XHTML

Parametry

-As

Określa, czy obiekt jest sformatowany jako tabela, czy lista. Prawidłowe wartości to Tabela i Lista. Wartość domyślna to Tabela.

Wartość Tabela generuje tabelę HTML podobną do formatu tabeli programu PowerShell. W wierszu nagłówka są wyświetlane nazwy właściwości. Każdy wiersz tabeli reprezentuje obiekt i wyświetla wartości obiektu dla każdej właściwości.

Wartość Lista generuje dwukolumną tabelę HTML dla każdego obiektu przypominającego format listy programu PowerShell. Pierwsza kolumna wyświetla nazwę właściwości. Druga kolumna wyświetla wartość właściwości.

Typ:String
Dopuszczalne wartości:Table, List
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Body

Określa tekst do dodania po tagu otwierania <BODY> . Domyślnie w tej pozycji nie ma tekstu.

Typ:String[]
Position:3
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Charset

Określa tekst do dodania do tagu otwierającego <charset> . Domyślnie w tej pozycji nie ma tekstu.

Ten parametr został wprowadzony w programie PowerShell 6.0.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-CssUri

Określa identyfikator URI (Uniform Resource Identifier) kaskadowego arkusza stylów (CSS), który jest stosowany do pliku HTML. Identyfikator URI jest dołączany do linku arkusza stylów w danych wyjściowych.

Typ:Uri
Aliasy:cu, uri
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Fragment

Generuje tylko tabelę HTML. Tagi <HTML>, <HEAD>, <TITLE>i <BODY> są pomijane.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Head

Określa zawartość tagu <HEAD> . Wartość domyślna to <title\>HTML TABLE</title>. Jeśli używasz parametru Head , parametr Title zostanie zignorowany.

Typ:String[]
Position:1
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-InputObject

Określa obiekty, które mają być reprezentowane w kodzie HTML. Wprowadź zmienną zawierającą obiekty lub wpisz polecenie lub wyrażenie, które pobiera obiekty.

Jeśli używasz tego parametru do przesyłania wielu obiektów, takich jak wszystkie usługi na komputerze, ConvertTo-Html tworzy tabelę, która wyświetla właściwości kolekcji lub tablicy obiektów. Aby utworzyć tabelę poszczególnych obiektów, użyj operatora potoku, aby przekazać obiekty do ConvertTo-Htmlobiektu .

Typ:PSObject
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Meta

Określa tekst do dodania do tagu otwierającego <meta> . Domyślnie w tej pozycji nie ma tekstu.

Ten parametr został wprowadzony w programie PowerShell 6.0.

Typ:Hashtable
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-PostContent

Określa tekst do dodania po tagu zamykającym </TABLE> . Domyślnie w tej pozycji nie ma tekstu.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-PreContent

Określa tekst do dodania przed tagiem otwierania <TABLE> . Domyślnie w tej pozycji nie ma tekstu.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Property

Zawiera określone właściwości obiektów w kodzie HTML. Wartość parametru Property może być nową właściwością obliczeniową. Właściwość obliczeniowa może być blokiem skryptu lub tabelą skrótów. Prawidłowe pary klucz-wartość to:

  • Name (lub etykieta) — <string> (dodane w programie PowerShell 6.x)
  • Expression - <string> lub <script block>
  • FormatString - <string>
  • Width - <int32> - musi być większe niż 0
  • Alignment - wartość może być Left, Centerlub Right

Aby uzyskać więcej informacji, zobacz about_Calculated_Properties.

Typ:Object[]
Position:0
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Title

Określa tytuł pliku HTML, czyli tekst wyświetlany między <TITLE> tagami.

Typ:String
Position:2
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Transitional

Zmienia wartość DOCTYPE na XHTML Transitional DTD, wartość domyślna DOCTYPE to XHTML Strict DTD.

Ten parametr został wprowadzony w programie PowerShell 6.0.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

PSObject

Do tego polecenia cmdlet można przekazać dowolny obiekt.

Dane wyjściowe

String

To polecenie cmdlet zwraca tablicę ciągów HTML reprezentujących przekonwertowany obiekt.

Uwagi

Aby użyć tego polecenia cmdlet, należy przekazać do polecenia cmdlet co najmniej jeden obiekt lub użyć parametru InputObject , aby określić obiekt. Gdy dane wejściowe składają się z wielu obiektów, dane wyjściowe tych dwóch metod są zupełnie inne.

  • Podczas potoku wielu obiektów do polecenia cmdlet program PowerShell wysyła obiekty do polecenia cmdlet pojedynczo. W rezultacie tworzy tabelę, ConvertTo-Html która wyświetla poszczególne obiekty. Na przykład w przypadku potoku procesów na komputerze do ConvertTo-Htmltabeli wynikowej zostaną wyświetlone wszystkie procesy.

  • Jeśli używasz parametru InputObject do przesyłania wielu obiektów, ConvertTo-Html odbiera te obiekty jako kolekcję lub jako tablicę. W rezultacie tworzy tabelę, która wyświetla tablicę i jej właściwości, a nie elementy w tablicy. Jeśli na przykład używasz obiektu InputObject do przesyłania procesów na komputerze do ConvertTo-Html, w tabeli wynikowej zostanie wyświetlona tablica obiektów i jej właściwości.

    Aby zachować zgodność ze ścisłym dtD XHTML, DOCTYPE tag jest odpowiednio modyfikowany:

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