PowerShell Cmdlet - ConvertTo-Html
 記事記号:[mf1924] 初版:2011/Sep/30

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

名前
    ConvertTo-Html
    
概要
    Microsoft .NET Framework オブジェクトを Web ブラウザーで表示できる HTML に変
    換します。
    
構文
    ConvertTo-Html [[-Head] <string[]>] [[-Title] <string>] [[-Body] <string[]>] 
    [-CssUri <Uri>] [[-Property] <Object[]>] [-As <string>] [-InputObject <psobj
    ect>] [-PostContent <string[]>] [-PreContent <string[]>] [<CommonParameters>
    ]
    
    ConvertTo-Html [-Fragment] [[-Property] <Object[]>] [-As <string>] [-InputOb
    ject <psobject>] [-PostContent <string[]>] [-PreContent <string[]>] [<Common
    Parameters>]
    
説明
    ConvertTo-Html コマンドレットは、.NET Framework オブジェクトを Web ブラウザ
    ーで表示できる HTML に変換します。このコマンドレットを使用すると、Web ページ
    のコマンドの出力を表示できます。
    
    ConvertTo-Html のパラメーターを使用すると、オブジェクト プロパティの選択、表
    形式または一覧形式の指定、HTML ページ タイトルの指定、オブジェクトの前後への
    テキストの追加を行ったり、Strict DTD ページの代わりに表または一覧の断片のみ
    を返すことができます。
    
    複数のオブジェクトを ConvertTo-Html に送信すると、Windows PowerShell は、送
    信した最初のオブジェクトのプロパティに基づいて表 (または一覧) を作成します。
    指定されたプロパティのいずれかが残りのオブジェクトにない場合、そのオブジェク
    トのプロパティ値は空のセルになります。残りのオブジェクトに追加のプロパティが
    ある場合、それらのプロパティ値はファイルに含まれません。
    
パラメーター
    -As <string>
        オブジェクトの書式設定が表形式と一覧形式のどちらであるかを決定します。有
        効な値は TABLE と LIST です。既定値は TABLE です。
        
        TABLE の値は、Windows PowerShell の表形式に似た HTML の表を生成します。
        ヘッダー行にはプロパティ名が表示されます。表の各行はオブジェクトを表し、
        各プロパティのオブジェクトの値が表示されます。
        
        LIST の値は、Windows PowerShell 一覧形式に似た 2 列の HTML の表をオブジェ
        クトごとに生成します。最初の列にはプロパティ名、2 番目の列にはプロパティ
        値が表示されます。
        
        必須                         false
        位置                         named
        既定値                       Table
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Body <string[]>
        <BODY> 開始タグの後に追加するテキストを指定します。既定では、この位置に
        テキストはありません。
        
        必須                         false
        位置                         4
        既定値                       テキストなし
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -CssUri <Uri>
        HTML ファイルに適用されるカスケード スタイル シート (CSS) の URI (Unifor
        m Resource Identifier) を指定します。URI は出力のスタイル シート リンク
        に含まれています。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Fragment [<SwitchParameter>]
        HTML の表のみを生成します。HTML、HEAD、TITLE、および BODY タグは省略され
        ます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Head <string[]>
        <HEAD> タグの内容を指定します。既定値は "<title>HTML TABLE</title>" です。
        Head パラメーターを使用した場合、Title パラメーターは無視されます。
        
        必須                         false
        位置                         2
        既定値                       <title>HTML TABLE</title>
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -InputObject <psobject>
        HTML で表すブジェクトを指定します。オブジェクトが格納されている変数を入
        力するか、オブジェクトを取得するコマンドまたは式を入力します。
        
        このパラメーターを使用して複数のオブジェクト (たとえば、コンピューターで
        稼動しているすべてのサービス) を送信した場合は、オブジェクトのコレクショ
        ンまたは配列 (System.Object[]) のプロパティを表示するテーブルが ConvertT
        o-Html によって作成されます。個々のオブジェクトの表を作成するには、パイ
        プライン演算子を使用してオブジェクトを ConvertTo-Html にパイプします。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByValue)
        ワイルドカード文字を許可する false
        
    -PostContent <string[]>
        </TABLE> 終了タグの後に追加するテキストを指定します。既定では、この位置に
        テキストはありません。
        
        必須                         false
        位置                         named
        既定値                       テキストなし
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -PreContent <string[]>
        <TABLE> 開始タグの前に追加するテキストを指定します。既定では、この位置に
        テキストはありません。
        
        必須                         false
        位置                         named
        既定値                       テキストなし
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Property <Object[]>
        オブジェクトの指定したプロパティを HTML に含めます。
        
        必須                         false
        位置                         1
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Title <string>
        HTML ファイルのタイトル、つまり <TITLE> タグで囲むテキストを指定します。
        
        必須                         false
        位置                         3
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    System.Management.Automation.PSObject
        パイプを使用してどの .NET オブジェクトでも ConvertTo-Html に渡すことがで
        きます。
    
出力
    System.String
        ConvertTo-Html は、有効な HTML を構成する一連の文字列を返します。
    
メモ
        このコマンドレットを使用するには、1 つ以上のオブジェクトをコマンドレット
        にパイプするか、InputObject パラメーターを使用してオブジェクトを指定しま 
        す。入力が複数のオブジェクトで構成されていると、これら 2 つの方法の出力
        は大きく異なります。
        
        --  複数のオブジェクトをコマンドレットにパイプする場合は、オブジェクトが
            一度に 1 つずつコマンドレットに送信されます。その結果、ConvertTo-Htm
            l は個々のオブジェクトを表示する表を作成します。たとえば、コンピュー
            ター上のプロセスを ConvertTo-Html にパイプすると、作成された表にすべ
            てのプロセスが表示されます。
        
        --  InputObject パラメーターを使用して複数のオブジェクトを送信する場合、
            ConvertTo-Html はこれらのオブジェクトを 1 つのコレクションまたは配列
            として受信します。その結果、配列内の項目ではなく、配列とそのプロパテ
            ィを表示する表が作成されます。たとえば、InputObject を使用してコンピ
            ューター上のプロセスを ConvertTo-Html に送信すると、表にはオブジェク
            トの配列 (System.Object[]) とそのプロパティが表示されます。
        
        DOCTYPE タグは XHTML Strict DTD に従って変更されます。
        (<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"       "http://
        www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">)
        
    -------------------------- 例 1 --------------------------
    
    C:\PS>convertto-html -inputobject (get-date)
    
    説明
    -----------
    このコマンドは、現在の日付のプロパティを表示する HTML ページを作成します。ま
    た InputObject パラメーターを使用して、Get-Date コマンドの結果を ConvertTo-H
    tml コマンドレットに送信します。
    
    -------------------------- 例 2 --------------------------
    
    C:\PS>get-alias | convertto-html > aliases.htm
    
    C:\PS> invoke-item aliases.htm
    
    説明
    -----------
    このコマンドは、現在のコンソールの Windows PowerShell エイリアスを一覧にする 
    HTML ページを作成します。
    
    このコマンドは、Get-Alias コマンドレットを使用してエイリアスを取得します。ま
    た、パイプライン演算子 (|) を使用してエイリアスを ConvertTo-Html コマンドレ
    ットに送信し、このコマンドレットが HTML ページを作成します。
    
    -------------------------- 例 3 --------------------------
    
    C:\PS>get-eventlog -logname "Windows PowerShell | convertto-html > pslog.htm
    
    説明
    -----------
    このコマンドは、ローカル コンピューターの Windows PowerShell イベント ログに
    イベントを表示する pslog.htm という HTML ページを作成します。
    
    また、Get-EventLog コマンドレットを使用して Windows PowerShell ログのイベン
    トを取得してから、パイプライン演算子 (|) を使用してイベントを ConvertTo-Html 
    コマンドレットに送信します。
    
    さらに、リダイレクト演算子 (>) を使用して、HTML コードを pslog.htm ファイル
    に送信します。
    
    -------------------------- 例 4 --------------------------
    
    C:\PS>get-process | convertto-html -property Name, Path, Company -title "Pro
    cess Information" > proc.htm; ii proc.htm
    
    説明
    -----------
    これらのコマンドは、ローカル コンピューター上のプロセスの名前、パス、および
    会社を一覧にする HTML ページを作成して開きます。
    
    最初のコマンドは、Get-Process コマンドレットを使用して、コンピューターで実行
    しているプロセスを表すオブジェクトを取得します。このコマンドは、パイプライン
    演算子 (|) を使用して、プロセス オブジェクトを ConvertTo-Html コマンドレット
    に送信します。
    
    このコマンドは、Property パラメーターを使用して、表に含めるプロセス オブジェ
    クトの 3 つのプロパティを選択します。このコマンドは、Title パラメーターを使
    用して HTML ページのタイトルを指定します。また、このコマンドは、リダイレクト
    演算子 (>) を使用して、結果の HTML を Proc.htm というファイルに送信します。
    
    2 番目のコマンドは、Invoke-Item コマンドレット (エイリアスは ii) を使用して、
    既定のブラウザーで Proc.htm を開きます。2 つのコマンドは、セミコロン (;) で
    区切ります。
    
    -------------------------- 例 5 --------------------------
    
    C:\PS>get-service | convertto-html -CssUri "test.css"
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"       "http://www.w
    3.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" 
    タグをもう 1 つ追加します。タグ内の HREF 属性にはスタイル シートの名前が含ま
    れています。
    
    -------------------------- 例 6 --------------------------
    
    C:\PS>get-service | convertto-html -as LIST > services.htm
    
    説明
    -----------
    このコマンドは、Get-Service コマンドレットが返すサービス オブジェクトの HTML 
    ページを作成します。また、As パラメーターを使用して一覧の形式を指定します。
    リダイレクト演算子 (>) は、結果の HTML を Services.htm ファイルに送信します。
    
    -------------------------- 例 7 --------------------------
    
    C:\PS>get-date | cth -fragment
    
    <table>
    <colgroup>...</colgroup>
    <tr><th>DisplayHint</th><th>DateTime</th><th>Date</th><th>Day</th><th>DayOfW
    eek</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 1
    2: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>1
    0:40:04.1237213</td><td>2008</td></tr>
    </table>
    
    説明
    -----------
    このコマンドは、ConvertTo-Html を使用して、現在の日付の HTML の表を生成しま
    す。また、Get-Date コマンドレットを使用して現在の日付を取得します。このコマ
    ンドは、パイプライン演算子 (|) を使用して、結果を ConvertTo-Html コマンドレ
    ット ("cth" というエイリアス) に送信します。
    
    ConvertTo-Html コマンドには、出力を HTML の表に制限する Fragment パラメータ
    ーが含まれています。その結果、<HEAD> タグや <BODY> タグのような HTML ページ
    の他の要素は省略されます。
    
    -------------------------- 例 8 --------------------------
    
    C:\PS>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 --------------------------
    
    C:\PS>get-service A* | ConvertTo-Html -title "Windows Services: Server01" -b
    ody (get-date) -pre "<P>Generated by Corporate IT</P>" -post "For details, c
    ontact Corporate IT." > services.htm; ii services.htm
    
    説明
    -----------
    このコマンドは、コンピューターで稼動しているサービスのうち "A" で始まるサー
    ビスを表示する Web ページを作成して開きます。また、ConvertTo-Html の Title、
    Body、PreContent、および PostContent パラメーターを使用して出力をカスタマイ
    ズします。
    
    コマンドの最初の部分は、Get-Service コマンドレットを使用して、コンピュータ
    ーで稼動しているサービスのうち "A" で始まるサービスを取得します。また、パイ
    プライン演算子 (|) を使用して結果を ConvertTo-Html コマンドレットに送信しま
    す。このコマンドはリダイレクト演算子 (>) を使用して、出力を Services.htm フ
    ァイルに送信します。
    
    セミコロン (;) で最初のコマンドが終了し、2 番目のコマンドが開始します。2 番
    目のコマンドは Invoke-Item コマンドレット (エイリアスは ii) を使用して、既定
    のブラウザーで Services.htm ファイルを開きます。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=113290
    ConvertTo-CSV 
    ConvertTo-Xml 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、ConvertTo-Html
ご利用数: 1913428
感想・要望・問い合わせは こちら