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 cmdlet ConvertTo-Html 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ć format tabeli lub 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-Htmlprogram 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 polecenia Get-Date do polecenia cmdlet ConvertTo-Html.

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

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

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

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 polecenia cmdlet Get-Process w celu pobrania obiektów reprezentujących procesy uruchomione na komputerze. Polecenie używa operatora potoku (|) do wysyłania obiektów procesu do polecenia cmdlet ConvertTo-Html.

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 również polecenia cmdlet Out-File do wysyłania wynikowego kodu HTML do pliku o nazwie Proc.htm.

Drugie polecenie używa polecenia cmdlet Invoke-Item, aby otworzyć 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 polecenie cmdlet Get-Service. Polecenie używa parametru CssUri, aby określić kaskadowy arkusz stylów dla strony HTML.

Parametr CssUri dodaje dodatkowy 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 polecenie cmdlet Get-Service. Polecenie używa parametru As w celu określenia formatu listy. Polecenie cmdlet Out-File wysyła wynikowy kod HTML do pliku Services.htm.

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 używa ConvertTo-Html do wygenerowania tabeli HTML bieżącej daty. Polecenie używa polecenia cmdlet Get-Date, aby uzyskać bieżącą datę. Używa operatora potoku (|), aby wysłać wyniki do polecenia cmdlet ConvertTo-Html.

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 tagi <HEAD> 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 polecenia cmdlet Get-EventLog do pobierania zdarzeń z dziennika zdarzeń programu Windows PowerShell.

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

Polecenie używa parametru Property, aby wybrać tylkoidentyfikatora ,poziomu i właściwości zadania .

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 Tytuł, Treść, PreContenti parametrów ConvertTo-Html PostCon tent w celu dostosowania danych wyjściowych.

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

Średnik (;) kończy pierwsze polecenie i uruchamia drugie polecenie, które używa polecenia cmdlet Invoke-Item, aby otworzyć plik Services.htm 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 zwróconego kodu HTML na XHTML

Parametry

-As

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

Wartość Table 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ść List 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 <BODY> otwierania tagu. 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-Html.

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 </TABLE> zamykającym tagu. 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 <TABLE> otwierania. 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> (dodano w programie PowerShell 6.x)
  • Expression - <string> lub <script block>
  • FormatString - <string>
  • Width - <int32> — musi być większa 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 tagami <TITLE>.

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

-Transitional

Zmienia DOCTYPE na dtd przejściowego XHTML, DOCTYPE domyślna 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 ConvertTo-Htmlmożna przekazać dowolny obiekt platformy .NET.

Dane wyjściowe

System.String or System.Xml.XmlDocument

ConvertTo-Html zwraca serię ciągów składających się na prawidłowy kod HTML.

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 związku z tym ConvertTo-Html tworzy tabelę, która wyświetla poszczególne obiekty. Na przykład w przypadku potoku procesów na komputerze w celu ConvertTo-Htmltabela wynikowa wyświetla 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 InputObject do przesyłania procesów na komputerze do ConvertTo-Html, wynikowa tabela wyświetla tablicę obiektów i jej właściwości.

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

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