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-Html
program 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
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
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
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
,Center
lubRight
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
Do ConvertTo-Html
moż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 celuConvertTo-Html
tabela 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 doConvertTo-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"\>