ConvertFrom-CliXml
Converts a CliXml-formatted string to a custom PSObject.
Syntax
ConvertFrom-CliXml
[-InputObject] <String>
[<CommonParameters>]
Description
The ConvertFrom-CliXml
cmdlet converts strings that are formatted as Common Language
Infrastructure (CLI) XML to a custom PSObject. This command is similar to Import-Clixml
, but
it doesn't read from a file. Instead, it takes a string as input.
The newly deserialized objects aren't live objects. They're a snapshot of the objects at the time of
serialization. The deserialized objects include properties but no methods. The PSTypeNames
property contains the original type name prefixed with Deserialized
.
This cmdlet was introduced in PowerShell 7.5-preview.4.
Examples
Example 1 - Convert a process object to CliXml and back
This example shows the result of converting a process object to CliXml and back. First, the current
process is stored in the variable $process
. The PSTypeNames property of the process object
shows that the object is of type System.Diagnostics.Process. The next command displays the count
for each type of member in the process object.
$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
Next, the process object is converted to CliXml and back. The type of the new object is prefixed
with Deserialized
. The count of members in the new object is different from the original object.
Parameters
-InputObject
The object containing a CliXml-formatted string to be converted.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Inputs
Outputs
Related Links
PowerShell