次の方法で共有


ConvertTo-CliXml

オブジェクトを CliXml 形式の文字列に変換します。

構文

ConvertTo-CliXml
              [-InputObject] <PSObject>
              [-Depth <Int32>]
              [<CommonParameters>]

説明

ConvertTo-CliXml コマンドレットは、オブジェクトを共通言語インフラストラクチャ (CLI) XML として書式設定された文字列に変換します。 このコマンドは Export-Clixmlに似ていますが、ファイルには書き込まれません。 代わりに、文字列を出力します。

このコマンドレットは、PowerShell 7.5-preview.4 で導入されました。

例 1 - プロセス オブジェクトを CliXml に変換して戻す

この例では、プロセス オブジェクトを CliXml に変換して戻した結果を示します。 最初に、現在のプロセスは変数 $processに格納されます。 プロセス オブジェクトの PSTypeNames プロパティは、オブジェクトの型がSystem.Diagnostics.Processであることを示します。 次のコマンドは、プロセス オブジェクト内のメンバーの種類ごとの数を表示します。

$process = Get-Process -Id $PID
$process.PSTypeNames

System.Diagnostics.Process
System.ComponentModel.Component
System.MarshalByRefObject
System.Object

$process | Get-Member | Group-Object MemberType | Select-Object Name, Count

Name           Count
----           -----
AliasProperty      7
CodeProperty       1
Property          52
NoteProperty       1
ScriptProperty     8
PropertySet        2
Method            19
Event              4

$xml = $process | ConvertTo-CliXml
$fromXML = ConvertFrom-CliXml $xml
$fromXML.PSTypeNames

Deserialized.System.Diagnostics.Process
Deserialized.System.ComponentModel.Component
Deserialized.System.MarshalByRefObject
Deserialized.System.Object

$fromXML | Get-Member | Group-Object MemberType | Select-Object Name, Count

Name         Count
----         -----
Property        46
NoteProperty    17
PropertySet      2
Method           2

次に、プロセス オブジェクトが CliXml に変換され、戻されます。 新しいオブジェクトの型の前に Deserialized が付きます。 新しいオブジェクトのメンバーの数は、元のオブジェクトとは異なります。

パラメーター

-Depth

XML 表現に含める子オブジェクトのレベルを指定します。 既定値は 2 です。

型:Int32
配置:Named
規定値:2
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-InputObject

CliXml 形式の文字列に変換するオブジェクト。

型:PSObject
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

入力

PSObject

出力

String