ConvertTo-Html
Преобразует объекты .NET в код HTML, который может отображаться в веб-браузере.
Синтаксис
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>]
Описание
Командлет ConvertTo-Html
преобразует объекты .NET в HTML, которые могут отображаться в веб-браузере. Этот командлет можно использовать для отображения выходных данных команды на веб-странице.
С помощью параметров ConvertTo-Html
можно выбрать свойства объекта, указать формат таблицы или списка, указать заголовок HTML-страницы, добавить текст до и после объекта и вернуть только фрагмент таблицы или списка, а не страницу строгого DTD.
При отправке нескольких объектов в ConvertTo-Html
PowerShell создает таблицу (или список) на основе свойств первого объекта, который вы отправляете. Если у оставшихся объектов нет одного из указанных свойств, значением свойства этого объекта является пустая ячейка. Если оставшиеся объекты содержат дополнительные свойства, их значения не включаются в файл.
Примеры
Пример 1. Create веб-страницу для отображения даты
ConvertTo-Html -InputObject (Get-Date)
Эта команда создает HTML-страницу, на которой отображаются свойства текущей даты. Он использует параметр InputObject для отправки Get-Date
результатов команды в ConvertTo-Html
командлет .
Пример 2. Create веб-страницы для отображения псевдонимов PowerShell
Get-Alias | ConvertTo-Html | Out-File aliases.htm
Invoke-Item aliases.htm
Эта команда создает HTML-страницу со списком псевдонимов PowerShell в текущей консоли.
Команда использует Get-Alias
командлет для получения псевдонимов. Он использует оператор конвейера (|
) для отправки псевдонимов ConvertTo-Html
в командлет, который создает HTML-страницу. Команда также использует Out-File
командлет для отправки HTML-кода в aliases.htm
файл.
Пример 3. Create веб-страницы для отображения событий PowerShell
Get-EventLog -LogName "Windows PowerShell" | ConvertTo-Html | Out-File pslog.htm
Эта команда создает HTML-страницу с именем pslog.htm
, которая отображает события в журнале событий Windows PowerShell на локальном компьютере.
Он использует Get-EventLog
командлет для получения событий в журнале Windows PowerShell, а затем использует оператор конвейера (|
) для отправки событий в ConvertTo-Html
командлет. Команда также использует Out-File
командлет для отправки HTML-кода в pslog.htm
файл.
Команда также использует Out-File
командлет для отправки HTML-кода в pslog.htm
файл.
Пример 4. Create веб-страницы для отображения процессов
Get-Process |
ConvertTo-Html -Property Name, Path, Company -Title "Process Information" |
Out-File proc.htm
Invoke-Item proc.htm
Эти команды создают и открывают HTML-страницу, содержащую имя, путь и компанию для процессов на локальном компьютере.
Первая команда использует Get-Process
командлет для получения объектов, представляющих процессы, выполняемые на компьютере. Команда использует оператор конвейера (|
) для отправки объектов процесса в ConvertTo-Html
командлет .
Команда использует параметр Property для выбора трех свойств объектов процесса, которые будут включены в таблицу. Команда использует параметр Title , чтобы указать заголовок html-страницы. Команда также использует командлет для отправки Out-File
результирующего HTML-кода в файл с именем Proc.htm
.
Вторая команда использует Invoke-Item
командлет для открытия в браузере Proc.htm
по умолчанию.
Пример 5. Create веб-страницы для отображения объектов службы
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" />
...
Эта команда создает HTML-страницу объектов службы, возвращаемых командлетом Get-Service
. Команда использует параметр CssUri для указания каскадной таблицы стилей для HTML-страницы.
Параметр CssUri добавляет дополнительный <link rel="stylesheet" type="text/css" href="test.css">
тег в результирующий HTML-код. Атрибут HREF в теге содержит имя таблицы стилей.
Пример 6. Create веб-страницы для отображения объектов службы
Get-Service | ConvertTo-Html -As LIST | Out-File services.htm
Эта команда создает HTML-страницу объектов службы, возвращаемых командлетом Get-Service
. Команда использует параметр As для указания формата списка. Командлет Out-File
отправляет полученный HTML-код в Services.htm
файл .
Пример 7. Create веб-таблицы для текущей даты
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>
Эта команда использует ConvertTo-Html
для создания ТАБЛИЦЫ HTML текущей даты. Команда использует командлет для Get-Date
получения текущей даты. Для отправки результатов в командлет используется оператор конвейера ConvertTo-Html
(|
).
Команда ConvertTo-Html
включает параметр Fragment , который ограничивает выходные данные html-таблицей. В результате другие элементы HTML-страницы, например теги <HEAD>
и <BODY>
, пропускаются.
Пример 8. Create веб-страницы для отображения событий PowerShell
Get-EventLog -Log "Windows PowerShell" | ConvertTo-Html -Property id, level, task
Эта команда использует Get-EventLog
командлет для получения событий из журнала событий Windows PowerShell.
Он использует оператор конвейера (|
) для отправки событий в ConvertTo-Html
командлет , который преобразует события в формат HTML.
Команда ConvertTo-Html
использует параметр Property для выбора только свойств ID, Level и Task события.
Пример 9. Create веб-страницы для отображения указанных служб
$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
Эта команда создает и открывает веб-страницу, на которой отображаются службы на компьютере, начинающиеся с A
. Для настройки выходных данных используются параметры ConvertTo-Html
Title, Body, PreContent и PostContent.
В первой части команды используется Get-Service
командлет для получения служб на компьютере, которые начинаются с A
. Команда использует оператор конвейера (|
) для отправки результатов в ConvertTo-Html
командлет . Команда также использует Out-File
командлет для отправки выходных данных в Services.htm
файл.
Точка с запятой (;
) завершает первую команду и запускает вторую команду, которая использует Invoke-Item
командлет для открытия файла в браузере Services.htm
по умолчанию.
Пример 10. Задание свойств Meta и набора символов HTML
Get-Service | ConvertTo-HTML -Meta @{
refresh=10
author="Author's Name"
keywords="PowerShell, HTML, ConvertTo-HTML"
} -Charset "UTF-8"
Эта команда создает HTML-код для веб-страницы с метатегами для обновления, автора и ключевых слов. Для страницы задано значение UTF-8.
Пример 11. Установка html-кода на переходный DTD XHTML
Get-Service | ConvertTo-HTML -Transitional
Эта команда задает DOCTYPE
для возвращаемого HTML значение XHTML Переходное DTD.
Параметры
-As
Определяет, форматируется ли объект как таблица или список. Допустимые значения: Table и List. Значение по умолчанию — Table.
Значение Table создает таблицу HTML, похожую на формат таблицы PowerShell. В строке заголовка отображаются имена свойств. Каждая строка таблицы представляет объект и отображает значения объекта для каждого свойства.
Значение List создает html-таблицу с двумя столбцами для каждого объекта, похожего на формат списка PowerShell. В первом столбце отображается имя свойства. Во втором столбце отображается значение свойства .
Type: | String |
Accepted values: | Table, List |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Body
Задает текст, добавляемый после открывающего тега <BODY>
. По умолчанию текст в этой позиции отсутствует.
Type: | String[] |
Position: | 3 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Charset
Указывает текст, добавляемый в открывающий <charset>
тег. По умолчанию текст в этой позиции отсутствует.
Этот параметр появился в PowerShell 6.0.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CssUri
Указывает идентификатор URI таблицы каскадных стилей (CSS), применяемый к HTML-файлу. Этот URI включается в ссылку таблицы стилей в выходных данных.
Type: | Uri |
Aliases: | cu, uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Fragment
Создает только HTML-таблицу. Теги <HTML>
, <HEAD>
, <TITLE>
и <BODY>
опущены.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Head
Задает содержимое тега <HEAD>
. Значение по умолчанию — <title\>HTML TABLE</title>
. При использовании параметра Head параметр Title игнорируется.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Указывает объекты, которые должны быть представлены в формате HTML. Введите переменную, которая содержит объекты, или команду или выражение, которое возвращает объекты.
Если этот параметр используется для отправки нескольких объектов, таких как все службы на компьютере, создается таблица, ConvertTo-Html
отображающая свойства коллекции или массива объектов . Чтобы создать таблицу отдельных объектов, используйте оператор конвейера для передачи объектов в ConvertTo-Html
.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Meta
Указывает текст, добавляемый в открывающий <meta>
тег. По умолчанию текст в этой позиции отсутствует.
Этот параметр появился в PowerShell 6.0.
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PostContent
Задает текст, добавляемый после закрывающего тега </TABLE>
. По умолчанию текст в этой позиции отсутствует.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PreContent
Задает текст, добавляемый перед открывающим тегом <TABLE>
. По умолчанию текст в этой позиции отсутствует.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Property
Включает указанные свойства объектов в HTML. Значение параметра Property может быть новым вычисляемым свойством. Вычисляемое свойство может быть блоком скрипта или хэш-таблицей. Допустимые пары "ключ-значение":
Name
(или метка) —<string>
(добавлено в PowerShell 6.x)Expression
-<string>
или<script block>
FormatString
-<string>
Width
-<int32>
— должно быть больше0
Alignment
— значение может бытьLeft
,Center
илиRight
Дополнительные сведения см. в разделе about_Calculated_Properties.
Type: | Object[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Title
Указывает заголовок HTML-файл, т. е. текст, расположенный между тегами <TITLE>
.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Transitional
Изменяет значение DOCTYPE
на XHTML Переходное DTD. Значение по умолчанию DOCTYPE
— XHTML Strict DTD.
Этот параметр появился в PowerShell 6.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
Вы можете передать любой объект .NET в ConvertTo-Html
.
Выходные данные
System.String or System.Xml.XmlDocument
ConvertTo-Html
возвращает ряд строк, составляющих допустимый КОД HTML.
Примечания
Чтобы использовать этот командлет, передайте один или несколько объектов в командлет или используйте параметр InputObject , чтобы указать объект . Если входные данные состоят из нескольких объектов, выходные данные этих двух методов отличаются.
При отправке нескольких объектов в командлет PowerShell отправляет объекты командлету по одному за раз. В результате создает таблицу,
ConvertTo-Html
отображающую отдельные объекты. Например, если передать процессы на компьютереConvertTo-Html
в , результирующая таблица отображает все процессы.При использовании параметра InputObject для отправки нескольких объектов
ConvertTo-Html
получает эти объекты в виде коллекции или массива. В результате создается таблица, отображающая массива и его свойства, а не элементы в массиве. Например, если вы используете InputObject для отправки процессов на компьютереConvertTo-Html
в , результирующая таблица отображает массив объектов и его свойства.В соответствии с XHTML Strict DTD
DOCTYPE
тег изменяется соответствующим образом:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"\>