次の方法で共有


ConvertFrom-CliXml

CliXml 形式の文字列をカスタム PSObject に変換します。

構文

ConvertFrom-CliXml
                [-InputObject] <String>
                [<CommonParameters>]

説明

ConvertFrom-CliXml コマンドレットは、共通言語インフラストラクチャ (CLI) XML として書式設定された文字列をカスタム PSObject に変換します。 このコマンドは Import-Clixmlに似ていますが、ファイルから読み取られません。 代わりに、文字列を入力として受け取ります。

新しく逆シリアル化されたオブジェクトはライブ オブジェクトではありません。 これらは、シリアル化時のオブジェクトのスナップショットです。 逆シリアル化されたオブジェクトにはプロパティが含まれますが、メソッドは含まれていません。 PSTypeNames プロパティには、先頭に Deserialized が付いた元の型名が含まれます。

このコマンドレットは、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 が付きます。 新しいオブジェクトのメンバーの数は、元のオブジェクトとは異なります。

パラメーター

-InputObject

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

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

入力

String

出力

Object