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.