Поделиться через


ConvertTo-CliXml

Преобразует объект в строку в формате CliXml.

Синтаксис

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

Описание

Командлет ConvertTo-CliXml преобразует объекты в строки, отформатированные как XML-код инфраструктуры common language (CLI). Эта команда аналогична 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
Position:Named
Default value:2
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InputObject

Объект, который необходимо преобразовать в строку в формате CliXml.

Тип:PSObject
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

Входные данные

Выходные данные