ConvertTo-Html (Microsoft.PowerShell.Utility)
ConvertTo-Html
- Модуль:
- Microsoft.PowerShell.Utility
Преобразует объекты .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 включает параметр Fragment, который ограничивает вывод таблицей 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 для выбора только ID, Level и Task. свойства события.
Пример 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. Он использует параметры Title, Body, PreContent и PostContent ConvertTo-Html чтобы настроить вывод.
Первая часть команды использует командлет Get-Service для получения служб на компьютере, имена которых начинаются с A. Команда использует оператор конвейера (|) для отправки результатов в командлет ConvertTo-Html. Команда также использует командлет Out-File для отправки вывода в файл Services.htm.
Точка с запятой (;) завершает первую команду и запускает вторую команду, которая использует командлет Invoke-Item для открытия файла Services.htm. в браузере по умолчанию.
Пример 10. Установите мета-свойства и кодировку 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 Transitional DTD.
Get-Service | ConvertTo-HTML -TransitionalЭта команда устанавливает для DOCTYPE возвращаемого HTML значение XHTML Transitional DTD.
Параметры
-As
Определяет, отформатирован ли объект как таблица или список. Допустимые значения: Таблица и Список. Значение по умолчанию — Таблица.
Значение Table создает таблицу HTML, похожую на формат таблицы PowerShell. В строке заголовка отображаются имена свойств. Каждая строка таблицы представляет объект и отображает значения объекта для каждого свойства.
Значение List создает HTML-таблицу с двумя столбцами для каждого объекта, напоминающую формат списка PowerShell. В первом столбце отображается имя свойства. Во втором столбце отображается значение свойства.
- Тип :
String
- Принятые значения:
Таблица, Список
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Body
Указывает текст, добавляемый после открывающего тега <BODY>. По умолчанию в этой позиции нет текста.
- Тип :
String[]
- Позиция:
3
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Charset
Указывает текст, добавляемый в открывающий тег <charset>. По умолчанию в этой позиции нет текста.
Этот параметр был введен в PowerShell 6.0.
- Тип :
String
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-CssUri
Указывает универсальный идентификатор ресурса (URI) каскадной таблицы стилей (CSS), которая применяется к файлу HTML. URI включается в ссылку на таблицу стилей в выходных данных.
- Тип :
Ури
- Псевдонимы:
cu, uri
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Fragment
Генерирует только таблицу HTML. Теги <HTML>, <HEAD>, <TITLE> и <BODY> опускаются.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Head
Указывает содержимое тега <HEAD>. По умолчанию используется <title\>HTML TABLE</title>. Если вы используете параметр Head, параметр Title игнорируется.
- Тип :
String[]
- Позиция:
1
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-InputObject
Указывает объекты, которые будут представлены в HTML. Введите переменную, содержащую объекты, или введите команду или выражение, позволяющее получить объекты.
Если вы используете этот параметр для отправки нескольких объектов, например всех служб на компьютере, ConvertTo-Html создает таблицу, отображающую свойства коллекции или массива объектов. Чтобы создать таблицу отдельных объектов, используйте оператор конвейера для передачи объектов в ConvertTo-Html.
- Тип :
PSОбъект
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
-Meta
Указывает текст, добавляемый в открывающий тег <meta>. По умолчанию в этой позиции нет текста.
Этот параметр был введен в PowerShell 6.0.
- Тип :
Хэш-таблица
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-PostContent
Указывает текст, добавляемый после закрывающего тега </TABLE>. По умолчанию в этой позиции нет текста.
- Тип :
String[]
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-PreContent
Указывает текст, добавляемый перед открывающим тегом <TABLE>. По умолчанию в этой позиции нет текста.
- Тип :
String[]
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Property
Включает указанные свойства объектов в HTML. Значение параметра Property может быть новым вычисляемым свойством. Вычисляемое свойство может быть блоком скрипта или хеш-таблицей. Допустимые пары ключ-значение:
Имя(или метка) —<string>(добавлено в PowerShell 6.x)Выражение-<string>или<script; block>FormatString-<string>Ширина-<int32>- должна быть больше0Выравнивание— значение может бытьПо левому краю,По центруилиПо правому.
Дополнительные сведения см. в разделе about_Calculated_Properties.
- Тип :
Object[]
- Позиция:
0
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Title
Указывает заголовок HTML-файла, то есть текст, который отображается между тегами <TITLE>.
- Тип :
String
- Позиция:
2
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Transitional
Изменяет DOCTYPE на XHTML Transitional DTD, DOCTYPE по умолчанию — XHTML Strict DTD.
Этот параметр был введен в PowerShell 6.0.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
Входы
PSObject
В этот командлет можно передать любой объект.
Выходы
Строка
Этот командлет возвращает массив строк 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"\>