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


ConvertTo-Html

Преобразует объекты Microsoft .NET Framework в формат HTML, который может быть отображен в браузере.

Синтаксис

ConvertTo-Html
              [-InputObject <PSObject>]
              [[-Property] <Object[]>]
              [[-Body] <String[]>]
              [[-Head] <String[]>]
              [[-Title] <String>]
              [-As <String>]
              [-CssUri <Uri>]
              [-PostContent <String[]>]
              [-PreContent <String[]>]
              [<CommonParameters>]
ConvertTo-Html
              [-InputObject <PSObject>]
              [[-Property] <Object[]>]
              [-As <String>]
              [-Fragment]
              [-PostContent <String[]>]
              [-PreContent <String[]>]
              [<CommonParameters>]

Описание

Командлет ConvertTo-Html преобразует объекты платформа .NET Framework в HTML, которые можно отобразить в веб-браузере. Этот командлет можно использовать для отображения выходных данных команды на веб-странице.

Параметры ConvertTo-Html можно использовать для выбора свойств объекта, указания формата таблицы или списка, указания заголовка HTML-страницы, добавления текста до и после объекта, а также для возврата только фрагмента таблицы или списка вместо строгой страницы DTD.

При отправке нескольких объектов в ConvertTo-Html Windows PowerShell создает таблицу или список на основе свойств первого отложенного объекта. Если у оставшихся объектов нет одного из указанных свойств, значением свойства этого объекта является пустая ячейка. Если оставшиеся объекты содержат дополнительные свойства, их значения не включаются в файл.

Примеры

Пример 1. Create веб-страницы для отображения даты

PS C:\> ConvertTo-Html -InputObject (Get-Date)

Эта команда создает HTML-страницу, на которой отображаются свойства текущей даты. Он использует параметр InputObject для отправки результатов команды Get-Date командлету ConvertTo-Html .

Пример 2. Create веб-страницы для отображения псевдонимов PowerShell

PS C:\> Get-Alias | ConvertTo-Html | Out-File aliases.htm
PS C:\> Invoke-Item aliases.htm

Эта команда создает HTML-страницу, на которой отображается список псевдонимов Windows PowerShell в текущей консоли.

Команда использует командлет Get-Alias для получения псевдонимов. Оператор конвейера (|) используется для отправки псевдонимов командлету ConvertTo-Html , который создает HTML-страницу. Команда также использует командлет Out-File для отправки HTML-кода в файл aliases.htm.

Пример 3. Create веб-страницы для отображения событий PowerShell

PS C:\> 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.

Пример 4. Create веб-страницы для отображения процессов

PS C:\> Get-Process | ConvertTo-Html -Property Name, Path, Company -Title "Process Information" | Out-File proc.htm; ii proc.htm

Эти команды создают и открывают HTML-страницу, содержащую имя, путь и компанию для процессов на локальном компьютере.

Первая команда использует командлет Get-Process для получения объектов, представляющих процессы, запущенные на компьютере. Команда использует оператор конвейера (|) для отправки объектов процесса командлету ConvertTo-Html .

Команда использует параметр Property для выбора трех свойств объектов процесса, которые будут включены в таблицу. Команда использует параметр Title для указания заголовка HTML-страницы. Команда также использует командлет Out-File для отправки полученного HTML-кода в файл с именем Proc.htm.

Вторая команда использует командлет Invoke-Item (псевдоним = ii) для открытия файла Proc.htm в браузере по умолчанию. Две команды разделяются точкой с запятой (;).

Пример 5. Create веб-страницы для отображения объектов службы

PS> 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 веб-страницы для отображения объектов службы

PS C:\> Get-Service | ConvertTo-Html -As LIST | Out-File services.htm

Эта команда создает HTML-страницу объектов службы, возвращаемых командлетом Get-Service. Команда использует параметр As для указания формата списка. Командлет Out-File отправляет полученный HTML-код в файл Services.htm.

Пример 7. Create веб-таблицы для текущей даты

PS C:\> Get-Date | cth -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-Alias применяется для получения псевдонимов. Он использует оператор конвейера (|) для отправки результатов в командлет ConvertTo-Html (псевдоним cth).

Команда ConvertTo-Html включает параметр Fragment , который ограничивает выходные данные html-таблицей. В результате другие элементы HTML-страницы, такие как <теги HEAD> и <BODY>, опущены.

Пример 8. Create веб-страницы для отображения событий PowerShell

PS C:\> 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 веб-страницы для отображения указанных служб

PS C:\> Get-Service A* | ConvertTo-Html -Title "Windows Services: Server01" -Body (get-date) -Pre
"<P>Generated by Corporate IT</P>" -Post "For details, contact Corporate IT." | Out-File services.htm; ii services.htm

Эта команда создает и открывает веб-страницу, на которой отображаются службы на компьютере, начинающиеся с A. Для настройки выходных данных используются параметры Title, Body, PreContent и PostContentв ConvertTo-Html .

В первой части команды используется командлет Get-Service для получения служб на компьютере, которые начинаются с A. Команда использует оператор конвейера (|) для отправки результатов в командлет ConvertTo-Html . Команда также использует командлет Out-File для отправки выходных данных в файл Services.htm.

Точка с запятой (;) завершает первую команду и начинает вторую команду, которая использует командлет Invoke-элемент (псевдоним = "ii"), чтобы открыть файл Services.htm в браузере по умолчанию.

Параметры

-As

Указывает, отформатирован ли объект в виде таблицы или списка. Допустимые значения для этого параметра: Table и List. Значение по умолчанию — Table.

Значение Table создает таблицу HTML, похожую на формат таблицы Windows PowerShell. В строке заголовка отображаются имена свойств. Каждая строка таблицы представляет объект и отображает значения объекта для каждого свойства.

Значение List создает html-таблицу из двух столбцов для каждого объекта, похожую на формат списка Windows 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

-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> в виде массива. По умолчанию используется <заголовок>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 создает таблицу, отображающую свойства коллекции или массива объектов (System.Object[]). Чтобы создать таблицу отдельных объектов, используйте оператор конвейера для передачи объектов в ConvertTo-Html.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
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 может быть новым вычисляемым свойством. Чтобы создать вычисляемое свойство, используйте хэш-таблицу. Допустимые разделы следующие:

  • Строка метки <> (в отличие от Select-Object или Format-Table, ключ Name не поддерживается)
  • Expression <строка> или <блок скрипта>;
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

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

PSObject

Вы можете передать любой объект .NET в ConvertTo-Html.

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

System.String or System.Xml.XmlDocument

Этот командлет возвращает последовательность строк, составляющих допустимый HTML-код.

Примечания

  • Чтобы использовать этот командлет, передайте один или несколько объектов в командлет или укажите объект с помощью параметра InputObject . Если входные данные состоят из нескольких объектов, выходные данные этих двух методов отличаются.

    • При конвейере нескольких объектов в командлет Windows PowerShell отправляет объекты командлету по одному. В результате ConvertTo-Html создает таблицу с отдельными объектами. Например, если передать процессы на компьютере в ConvertTo-Html, в результирующей таблице отображаются все процессы.

    • При использовании параметра InputObject для отправки нескольких объектов ConvertTo-Html получает эти объекты в виде коллекции или массива. В результате создается таблица, отображающая массива и его свойства, а не элементы в массиве. Например, если вы используете InputObject для отправки процессов на компьютере в ConvertTo-Html, результирующая таблица отображает массив объектов (System.Object[]) и его свойства.

    В соответствии с XHTML Strict DTD тег DOCTYPE изменяется соответствующим образом:

    (<! DOCTYPE html PUBLIC "-/W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">)