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[]>]
[<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 イベント ログにイベントを表示する pslog.htm
という HTML ページを作成します。
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" />
...
このコマンドは、 Get-Service
コマンドレットが返すサービス オブジェクトの HTML ページを作成します。 このコマンドでは、 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
このコマンドは、 Get-Service
コマンドレットが返すサービス オブジェクトの HTML ページを作成します。 このコマンドでは、 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>
このコマンドでは、 ConvertTo-Html
を使用して、現在の日付の HTML テーブルを生成します。 このコマンドでは、 Get-Date
コマンドレットを使用して現在の日付を取得します。 パイプライン演算子 (|
) を使用して、結果を ConvertTo-Html
コマンドレットに送信します。
ConvertTo-Html
コマンドには、出力を HTML テーブルに制限する Fragment パラメーターが含まれています。 その結果、 <HEAD>
タグや <BODY>
タグなど、HTML ページの他の要素は省略されます。
例 8: PowerShell イベントを表示する Web ページを作成する
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: 指定されたサービスを表示する 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 ページを作成して開きます。 ConvertTo-Html
の Title、Body、PreContent、および PostContent パラメーターを使用して出力をカスタマイズします。
コマンドの最初の部分では、 Get-Service
コマンドレットを使用して、 A
で始まるコンピューター上のサービスを取得します。 このコマンドでは、パイプライン演算子 (|
) を使用して、結果を ConvertTo-Html
コマンドレットに送信します。 また、 Out-File
コマンドレットを使用して、 Services.htm
ファイルに出力を送信します。
セミコロン (;
) は、最初のコマンドを終了し、2 番目のコマンドを開始します。このコマンドでは、 Invoke-Item
コマンドレットを使用して既定のブラウザーで Services.htm
ファイルを開きます。
パラメーター
-As
オブジェクトがテーブルまたは一覧のどちらで書式設定されるかを決定します。 有効な値は、 Table および List です。 既定値は Table です。
Table 値は、PowerShell テーブル形式に似た HTML テーブルを生成します。 ヘッダー行には、プロパティ名が表示されます。 各テーブル行は、オブジェクトを表し、各プロパティのオブジェクトの値を表示します。
List 値は、PowerShell リスト形式に似たオブジェクトごとに 2 列の HTML テーブルを生成します。 最初の列にプロパティ名が表示されます。 2 番目の列には、プロパティ値が表示されます。
型: | String |
指定可能な値: | Table, List |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Body
開始タグの後に追加するテキスト <BODY>
指定します。 既定では、その位置にテキストがありません。
型: | String[] |
配置: | 3 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-CssUri
HTML ファイルに適用されるカスケード スタイル シート (CSS) の Uniform Resource Identifier (URI) を指定します。 URI は、出力のスタイル シートのリンクに含まれます。
型: | Uri |
Aliases: | cu, uri |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Fragment
HTML テーブルのみを生成します。 <HTML>
、<HEAD>
、<TITLE>
、および<BODY>
タグは省略されます。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Head
<HEAD>
タグの内容を指定します。 既定値は、<title\>HTML TABLE</title>
です。 Head パラメーターを使用する場合、Title パラメーターは無視されます。
型: | String[] |
配置: | 1 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-InputObject
HTML で表されるオブジェクトを指定します。 オブジェクトが格納されている変数を入力するか、オブジェクトを取得するコマンドまたは式を入力します。
このパラメーターを使用して、コンピューター上のすべてのサービスなど、複数のオブジェクトを送信する場合、 ConvertTo-Html
は、コレクションまたはオブジェクトの配列のプロパティを表示するテーブルを作成します。 個々のオブジェクトのテーブルを作成するには、パイプライン演算子を使用して、オブジェクトをパイプ処理して ConvertTo-Html
します。
型: | PSObject |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-PostContent
終了タグの後に追加するテキスト </TABLE>
指定します。 既定では、その位置にテキストがありません。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-PreContent
開始 <TABLE>
タグの前に追加するテキストを指定します。 既定では、その位置にテキストがありません。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Property
HTML 内のオブジェクトの指定したプロパティが含まれます。 Property パラメーターの値には、新しい計算プロパティを指定できます。 計算プロパティには、スクリプト ブロックまたはハッシュ テーブルを指定できます。 有効なキーと値のペアは次のとおりです。
Expression
-<string>
または<script block>
FormatString
-<string>
Width
-<int32>
- より大きくする必要があります0
Alignment
-Left
、Center
、またはRight
詳細については、「 about_Calculated_Properties」を参照してください。
型: | Object[] |
配置: | 0 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Title
HTML ファイルのタイトル、つまり、 <TITLE>
タグの間に表示されるテキストを指定します。
型: | String |
配置: | 2 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
任意のオブジェクトをこのコマンドレットにパイプできます。
出力
このコマンドレットは、変換されたオブジェクトを表す 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"\>
関連リンク
PowerShell