Udostępnij przez


ConvertFrom-CliXml

Konwertuje ciąg w formacie CliXml na niestandardowy obiekt PSObject.

Składnia

Default (Domyślna)

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

Opis

Polecenie cmdlet ConvertFrom-CliXml konwertuje ciągi sformatowane jako Common Language Infrastructure (CLI) XML na niestandardowy PSObject. To polecenie jest podobne do Import-Clixml, ale nie jest odczytywane z pliku. Zamiast tego przyjmuje ciąg jako dane wejściowe.

Nowo zdeserializowane obiekty nie są obiektami dynamicznymi. Są to migawki obiektów w czasie serializacji. Zdeserializowane obiekty zawierają właściwości, ale nie są to metody. Właściwość pstypenames zawiera oryginalną nazwę typu poprzedzoną prefiksem Deserialized.

Polecenie cmdlet zostało wprowadzone w programie PowerShell 7.5-preview.4.

Przykłady

Przykład 1 — konwertowanie obiektu procesu na format CliXml i z powrotem

W tym przykładzie pokazano wynik konwersji obiektu procesu na cliXml i z powrotem. Najpierw bieżący proces jest przechowywany w zmiennej $process. Właściwość pstypenames obiektu procesu pokazuje, że obiekt jest typu System.Diagnostics.Process. Następne polecenie wyświetla liczbę dla każdego typu elementu w obiekcie procesu.

$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

Następnie obiekt procesu jest konwertowany na format CliXml i z powrotem. Typ nowego obiektu ma prefiks Deserialized. Liczba członków w nowym obiekcie różni się od liczby w oryginalnym obiekcie.

Parametry

-InputObject

Obiekt zawierający ciąg w formacie CliXml, który ma zostać przekonwertowany.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:0
Obowiązkowy:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

String

Dane wyjściowe

Object