Поделиться через


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-HtmlPowerShell создает таблицу (или список) на основе свойств первого объекта, который вы отправляете. Если у оставшихся объектов нет одного из указанных свойств, значением свойства этого объекта является пустая ячейка. Если оставшиеся объекты содержат дополнительные свойства, их значения не включаются в файл.

Примеры

Пример 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, значение по умолчанию DOCTYPEXHTML Strict DTD.

Этот параметр появился в PowerShell 6.0.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

PSObject

Вы можете передать любой объект в этот командлет.

Выходные данные

String

Этот командлет возвращает массив строк 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"\>