ConvertTo-Html

.NET オブジェクトを、Web ブラウザーに表示できる 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 オブジェクトを Web ブラウザーに表示できる HTML に変換します。 このコマンドレットを使用すると、Web ページにコマンドの出力を表示できます。

パラメーターを使用すると、オブジェクトのプロパティを ConvertTo-Html 選択したり、テーブルまたはリスト形式を指定したり、HTML ページ タイトルを指定したり、オブジェクトの前後にテキストを追加したり、厳密な DTD ページではなくテーブルまたはリスト フラグメントのみを返したりできます。

複数のオブジェクトを ConvertTo-Html送信すると、PowerShell は、最初に送信したオブジェクトのプロパティに基づいてテーブル (またはリスト) を作成します。 残りのオブジェクトに指定したプロパティのいずれかがない場合は、そのオブジェクトのプロパティ値が空のセルになります。 残りのオブジェクトに追加のプロパティがある場合は、これらのプロパティ値は、ファイルには含まれません。

例 1: 日付を表示する Web ページを作成する

ConvertTo-Html -InputObject (Get-Date)

このコマンドは、現在の日付のプロパティを表示する HTML ページを作成します。 InputObject パラメーターを使用して、コマンドの結果をGet-DateコマンドレットにConvertTo-Html送信します。

例 2: PowerShell エイリアスを表示する Web ページを作成する

Get-Alias | ConvertTo-Html | Out-File aliases.htm
Invoke-Item aliases.htm

このコマンドは、現在のコンソールで PowerShell エイリアスを一覧表示する HTML ページを作成します。

このコマンドでは、コマンドレットを Get-Alias 使用してエイリアスを取得します。 パイプライン演算子 (|) を使用して、HTML ページを作成するコマンドレットに ConvertTo-Html エイリアスを送信します。 このコマンドでは、コマンドレットを Out-File 使用して HTML コードをファイルに aliases.htm 送信します。

例 3: PowerShell イベントを表示する Web ページを作成する

Get-EventLog -LogName "Windows PowerShell" | ConvertTo-Html | Out-File pslog.htm

このコマンドは、ローカル コンピューター上の Windows PowerShell イベント ログにイベントを表示する HTML pslog.htm ページを作成します。

このコマンドレットを Get-EventLog 使用して Windows PowerShell ログ内のイベントを取得し、パイプライン 演算子 (|) を使用してイベントをコマンドレットに ConvertTo-Html 送信します。 このコマンドでは、コマンドレットを Out-File 使用して HTML コードをファイルに pslog.htm 送信します。

このコマンドでは、コマンドレットを Out-File 使用して HTML コードをファイルに pslog.htm 送信します。

例 4: プロセスを表示する Web ページを作成する

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 パラメーターを使用して、テーブルに含めるプロセス オブジェクトの 3 つのプロパティを選択します。 このコマンドでは、Title パラメーターを使用して HTML ページのタイトルを指定します。 このコマンドでは、コマンドレットを Out-File 使用して結果の HTML をという名前 Proc.htmのファイルに送信します。

2 番目のコマンドでは、コマンドレットを Invoke-Item 使用して既定の Proc.htm ブラウザーで開きます。

例 5: サービス オブジェクトを表示する Web ページを作成する

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 パラメーターは、結果の HTML に追加<link rel="stylesheet" type="text/css" href="test.css">のタグを追加します。 このタグの HREF 属性には、スタイル シートの名前が含まれています。

例 6: サービス オブジェクトを表示する Web ページを作成する

Get-Service | ConvertTo-Html -As LIST | Out-File services.htm

このコマンドは、コマンドレットが返すサービス オブジェクトの HTML ページを Get-Service 作成します。 このコマンドでは、As パラメーターを使用してリスト形式を指定します。 コマンドレット Out-File は、結果の HTML をファイルに送信します Services.htm

例 7: 現在の日付の Web テーブルを作成する

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>

このコマンドは、現在の日付の HTML テーブルを生成するために使用 ConvertTo-Html します。 このコマンドでは、コマンドレットを Get-Date 使用して現在の日付を取得します。 パイプライン演算子 (|) を使用して、結果をコマンドレットに ConvertTo-Html 送信します。

この ConvertTo-Html コマンドには、出力を HTML テーブルに制限する Fragment パラメーターが含まれています。 その結果、HTML ページの他の要素 (タグなど<HEAD><BODY>) は省略されます。

例 8: PowerShell イベントを表示する Web ページを作成する

Get-EventLog -Log "Windows PowerShell" | ConvertTo-Html -Property id, level, task

このコマンドでは、コマンドレットを Get-EventLog 使用して Windows PowerShell イベント ログからイベントを取得します。

パイプライン演算子 (|) を使用してコマンドレットに ConvertTo-Html イベントを送信し、イベントを HTML 形式に変換します。

このコマンドではConvertTo-Html、Property パラメーターを使用して、イベントの IDLevel、および Task プロパティのみを選択します。

例 9: 指定されたサービスを表示する Web ページを作成する

$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のコンピューター上のサービスを表示する Web ページを作成して開きます。 Title、BodyPreContent、PostContent の各パラメーターConvertTo-Htmlを使用して出力をカスタマイズします。

コマンドの最初の部分では、コマンドレットを Get-Service 使用して、で始まる Aコンピューター上のサービスを取得します。 このコマンドでは、パイプライン演算子 (|) を使用して結果をコマンドレットに ConvertTo-Html 送信します。 このコマンドでは、コマンドレットを Out-File 使用して出力をファイルに Services.htm 送信します。

セミコロン (;) は、最初のコマンドを終了し、2 番目のコマンドを開始します。このコマンドは、コマンドレットを 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"

このコマンドは、更新、作成、およびキーワード (keyword)のメタ タグを含む Web ページの HTML を作成します。 ページの文字セットが UTF-8 に設定されている

例 11: HTML を XHTML Transitional DTD に設定する

Get-Service | ConvertTo-HTML -Transitional

このコマンドは、 DOCTYPE 返された HTML を XHTML Transitional DTD に 設定します。

パラメーター

-As

オブジェクトがテーブルまたは一覧のどちらで書式設定されるかを決定します。 有効な値は Table List です。 既定値は Table です

Table 値は、PowerShell テーブル形式に似た HTML テーブルを生成します。 ヘッダー行には、プロパティ名が表示されます。 各テーブル行は、オブジェクトを表し、各プロパティのオブジェクトの値を表示します。

List 値は、PowerShell リスト形式に似たオブジェクトごとに 2 列の HTML テーブルを生成します。 最初の列にプロパティ名が表示されます。 2 番目の列には、プロパティ値が表示されます。

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

HTML ファイルに適用されるカスケード スタイル シート (CSS) の Uniform Resource Identifier (URI) を指定します。 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- 値にはLeftCenterRight

詳細については、「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

任意のオブジェクトをこのコマンドレットにパイプできます。

出力

String

このコマンドレットは、変換されたオブジェクトを表す HTML の文字列の配列を返します。

メモ

このコマンドレットを使用するには、1 つ以上のオブジェクトをコマンドレットにパイプするか、InputObject パラメーターを使用してオブジェクトを指定します。 入力が複数のオブジェクトで構成されている場合、これら 2 つのメソッドの出力は大きく異なります。

  • 複数のオブジェクトをコマンドレットにパイプすると、PowerShell は一度に 1 つずつオブジェクトをコマンドレットに送信します。 その結果、 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"\>