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-Html
programu 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-Html
obiektu .
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
,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 <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
Do tego polecenia cmdlet można przekazać dowolny obiekt.
Dane wyjściowe
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 doConvertTo-Html
tabeli 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 doConvertTo-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"\>