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


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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

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

PSObject

Вы можете передать любой объект .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"\>