ConvertTo-CliXml
Converts an object to a CliXml-formatted string.
Syntax
ConvertTo-CliXml
[-InputObject] <PSObject>
[-Depth <Int32>]
[<CommonParameters>]
Description
The ConvertTo-CliXml
cmdlet converts objects to strings that are formatted as Common Language
Infrastructure (CLI) XML. This command is similar to Export-Clixml
, but it doesn't write to a
file. Instead, it outputs a string.
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
-Depth
Specifies how many levels of contained objects are included in the XML representation. The default values is 2.
Type: | Int32 |
Position: | Named |
Default value: | 2 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
The object to be converted to a CliXml-formatted string.
Type: | PSObject |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Inputs
Outputs
Related Links
PowerShell