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. Создание веб-страницы для отображения даты
ConvertTo-Html -InputObject (Get-Date)
Эта команда создает HTML-страницу, на которой отображаются свойства текущей даты. Он использует параметр InputObject для отправки Get-Date
результатов команды командлету ConvertTo-Html
.
Пример 2. Создание веб-страницы для отображения псевдонимов 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. Создание веб-страницы для отображения событий 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. Создание веб-страницы для отображения процессов
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. Создание веб-страницы для отображения объектов службы
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. Создание веб-страницы для отображения объектов службы
Get-Service | ConvertTo-Html -As LIST | Out-File services.htm
Эта команда создает HTML-страницу объектов службы, возвращаемых командлетом Get-Service
. Команда использует параметр As для указания формата списка. Командлет Out-File
отправляет полученный HTML-код в Services.htm
файл.
Пример 7. Создание веб-таблицы для текущей даты
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
включает параметр фрагмента, который ограничивает выходные данные html-таблицей. В результате другие элементы HTML-страницы, такие как <HEAD>
и <BODY>
теги, опущены.
Пример 8. Создание веб-страницы для отображения событий PowerShell
Get-EventLog -Log "Windows PowerShell" | ConvertTo-Html -Property id, level, task
Эта команда использует Get-EventLog
командлет для получения событий из журнала событий Windows PowerShell.
Он использует оператор конвейера (|
) для отправки событий командлету, который преобразует события ConvertTo-Html
в формат HTML.
Команда ConvertTo-Html
использует параметр Property, чтобы выбрать только свойства идентификатора, уровня и задачи события.
Пример 9. Создание веб-страницы для отображения указанных служб
$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. Задание свойств мета и charset 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-кода на XHTML-переходный DTD
Get-Service | ConvertTo-HTML -Transitional
Эта команда задает DOCTYPE
возвращаемый HTML-код на XHTML-переходный DTD
Параметры
-As
Определяет, форматируется ли объект как таблица или список. Допустимыми значениями являются таблица и список. Значением по умолчанию является Таблица.
Значение таблицы создает HTML-таблицу, похожую на формат таблицы PowerShell. В строке заголовка отображаются имена свойств. Каждая строка таблицы представляет объект и отображает значения объекта для каждого свойства.
Значение списка создает таблицу HTML с двумя столбцами для каждого объекта, который напоминает формат списка PowerShell. В первом столбце отображается имя свойства. Второй столбец отображает значение свойства.
Тип: | String |
Допустимые значения: | Table, List |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Body
Указывает текст, добавляемый после открывающего <BODY>
тега. По умолчанию текст в этой позиции отсутствует.
Тип: | String[] |
Position: | 3 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Charset
Указывает текст для добавления в открывающий <charset>
тег. По умолчанию текст в этой позиции отсутствует.
Этот параметр появился в PowerShell 6.0.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-CssUri
Указывает идентификатор URI таблицы каскадных стилей (CSS), применяемый к HTML-файлу. Этот URI включается в ссылку таблицы стилей в выходных данных.
Тип: | Uri |
Aliases: | cu, uri |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Fragment
Создает только HTML-таблицу. Пропускаются <HTML>
теги , <TITLE>
и <BODY>
теги. <HEAD>
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Head
Указывает содержимое тега <HEAD>
. Значение по умолчанию — <title\>HTML TABLE</title>
. Если используется параметр Head , параметр Title игнорируется.
Тип: | String[] |
Position: | 1 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-InputObject
Указывает объекты, которые должны быть представлены в формате HTML. Введите переменную, которая содержит объекты, или команду или выражение, которое возвращает объекты.
Если этот параметр используется для отправки нескольких объектов, таких как все службы на компьютере, ConvertTo-Html
создается таблица, отображающая свойства коллекции или массива объектов. Чтобы создать таблицу отдельных объектов, используйте оператор конвейера для передачи объектов ConvertTo-Html
в .
Тип: | PSObject |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Meta
Указывает текст для добавления в открывающий <meta>
тег. По умолчанию текст в этой позиции отсутствует.
Этот параметр появился в PowerShell 6.0.
Тип: | Hashtable |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-PostContent
Указывает текст, добавляемый после закрывающего </TABLE>
тега. По умолчанию текст в этой позиции отсутствует.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-PreContent
Указывает текст, добавляемый перед открывающим <TABLE>
тегом. По умолчанию текст в этой позиции отсутствует.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | 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.
Тип: | Object[] |
Position: | 0 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Title
Задает заголовок HTML-файла, то есть текст, который отображается между <TITLE>
тегами.
Тип: | String |
Position: | 2 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Transitional
Изменяет переходный DOCTYPE
DTD XHTML, значение по умолчанию DOCTYPE
— XHTML Strict DTD.
Этот параметр появился в PowerShell 6.0.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
Вы можете передать любой объект в этот командлет.
Выходные данные
Этот командлет возвращает массив строк 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"\>
Связанные ссылки
PowerShell