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


ConvertFrom-CliXml

Преобразует строку в формате CliXml в пользовательский PSObject.

Синтаксис

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

Описание

Командлет ConvertFrom-CliXml преобразует строки, отформатированные как XML-код инфраструктуры общего языка (CLI) в пользовательский 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
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

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

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