次の方法で共有


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 ページをCreateして日付を表示する

ConvertTo-Html -InputObject (Get-Date)

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

例 2: Web ページをCreateして PowerShell エイリアスを表示する

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: Web ページをCreateして PowerShell イベントを表示する

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

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

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

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

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

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

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

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

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

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

例 7: 現在の日付の Web テーブルを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 、出力を HTML テーブルに制限する Fragment パラメーターが含まれています。 その結果、<HEAD><BODY> タグなど、HTML ページの他の要素が省略されます。

例 8: Web ページをCreateして PowerShell イベントを表示する

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

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

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

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

例 9: 指定したサービスを表示する Web ページを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

このコマンドは、 で始まるコンピューター上のサービスを表示する Web ページを作成して開きます A。 出力をカスタマイズするには、 の TitleBodyPreContentPostContent の各パラメーター ConvertTo-Html を使用します。

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

セミコロン (;) は最初のコマンドを終了し、2 番目のコマンドを開始します。このコマンドでは、 コマンドレットを Invoke-Item 使用して既定のブラウザーでファイルを開 Services.htm きます。

例 10: HTML のメタ プロパティと Charset を設定する

Get-Service | ConvertTo-HTML -Meta @{
  refresh=10
  author="Author's Name"
  keywords="PowerShell, HTML, ConvertTo-HTML"
} -Charset "UTF-8"

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

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

Get-Service | ConvertTo-HTML -Transitional

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

パラメーター

-As

オブジェクトがテーブルまたは一覧のどちらで書式設定されるかを決定します。 有効な値は TableList です。 既定値は 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- 値には、、Center、または を指定Leftできます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

DOCTYPEXHTML Transitional 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 つのメソッドの出力は大きく異なります。

  • 複数のオブジェクトを 1 つのコマンドレットにパイプすると、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"\>