Import-Clixml
Importuje soubor CLIXML a vytvoří odpovídající objekty v PowerShellu.
Syntax
ByPath (Výchozí)
Import-Clixml
[-Path] <String[]>
[-IncludeTotalCount]
[-Skip <UInt64>]
[-First <UInt64>]
[<CommonParameters>]
ByLiteralPath
Import-Clixml
-LiteralPath <String[]>
[-IncludeTotalCount]
[-Skip <UInt64>]
[-First <UInt64>]
[<CommonParameters>]
Description
Rutina Import-Clixml importuje objekty, které byly serializovány do souboru XML služby Common Language Infrastructure (CLI). Cenným využitím Import-Clixml na počítačích s Windows je import přihlašovacích údajů a zabezpečených řetězců, které byly exportovány jako zabezpečený XML pomocí Export-Clixml.
příklad č. 2 ukazuje, jak použít Import-Clixml k importu zabezpečeného objektu přihlašovacích údajů.
Data CLIXML se deserializují zpět do objektů PowerShellu. Deserializované objekty však nejsou živými objekty. Jedná se o snímek objektů v době serializace. Deserializované objekty zahrnují vlastnosti, ale žádné metody.
Vlastnost TypeNames obsahuje původní název typu s předponou Deserialized.
Příklad č. 3 zobrazit vlastnost TypeNames deserializovaného objektu.
Import-Clixml pomocí značky bajtů (BOM) rozpozná formát kódování souboru. Pokud soubor neobsahuje boM, předpokládá se, že kódování je UTF8.
Další informace o rozhraní příkazového řádku najdete v tématu nezávislosti jazyka.
Příklady
Příklad 1: Import serializovaného souboru a opětovné vytvoření objektu
Tento příklad používá rutinu Export-Clixml k uložení serializované kopie informací o procesu vrácených Get-Process.
Import-Clixml načte obsah serializovaného souboru a znovu vytvoří objekt uložený v proměnné $Processes.
Get-Process | Export-Clixml -Path .\pi.xml
$Processes = Import-Clixml -Path .\pi.xml
Příklad 2: Import zabezpečeného objektu přihlašovacích údajů
V tomto příkladu můžete spuštěním rutiny $Credential uložit přihlašovací údaje uložené v proměnné Get-Credential spuštěním rutiny Export-Clixml$Credential a uložit přihlašovací údaje na disk.
Důležité
Export-Clixml exportuje jenom šifrované přihlašovací údaje ve Windows. V operačních systémech mimo Windows, jako jsou macOS a Linux, se přihlašovací údaje exportují ve formátu prostého textu.
$Credxmlpath = Join-Path (Split-Path $Profile) TestScript.ps1.credential
$Credential | Export-Clixml $Credxmlpath
$Credxmlpath = Join-Path (Split-Path $Profile) TestScript.ps1.credential
$Credential = Import-Clixml $Credxmlpath
Rutina CLIXML nelze použít na jiném počítači nebo jiném uživateli.
V příkladu je soubor, ve kterém jsou uloženy přihlašovací údaje, reprezentována TestScript.ps1.credential. Nahraďte TestScript názvem skriptu, do kterého načítáte přihlašovací údaje.
Odešlete objekt přihlašovacích údajů kanálu do Export-Clixmla uložíte ho do cesty $Credxmlpath, který jste zadali v prvním příkazu.
Pokud chcete přihlašovací údaje do skriptu importovat automaticky, spusťte poslední dva příkazy. Spuštěním Import-Clixml naimportujte zabezpečený objekt přihlašovacích údajů do skriptu. Tento import eliminuje riziko vystavení hesel ve formátu prostého textu ve vašem skriptu.
Příklad 3: Kontrola vlastnosti TypeNames deserializovaného objektu
Tento příklad ukazuje import objektu uloženého jako data CLIXML. Data se deserializují zpět do objektu PowerShellu. Deserializovaný objekt však nejsou živé objekty. Jedná se o snímek objektů v době serializace. Deserializované objekty zahrnují vlastnosti, ale žádné metody.
$original = [pscustomobject] @{
Timestamp = Get-Date
Label = 'Meeting event'
}
$original | Add-Member -MemberType ScriptMethod -Name GetDisplay -Value {
'{0:yyyy-MM-dd HH:mm} {1}' -f $this.Timestamp, $this.Label
}
$original | Get-Member -MemberType ScriptMethod
TypeName: System.Management.Automation.PSCustomObject
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Label NoteProperty string Label=Meeting event
Timestamp NoteProperty System.DateTime Timestamp=1/31/2024 2:27:59 PM
GetDisplay ScriptMethod System.Object GetDisplay();
$original | Export-Clixml -Path event.clixml
$deserialized = Import-CliXml -Path event.clixml
$deserialized | Get-Member
TypeName: Deserialized.System.Management.Automation.PSCustomObject
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Label NoteProperty string Label=Meeting event
Timestamp NoteProperty System.DateTime Timestamp=1/31/2024 2:27:59 PM
Všimněte si, že typ objektu v $original je System.Management.Automation.PSCustomObject, ale typ objektu v $deserialized je Deserialized.System.Management.Automation.PSCustomObject. Také GetDisplay() metoda chybí v deserializovaném objektu.
Parametry
-First
Získá pouze zadaný počet objektů. Zadejte počet objektů, které chcete získat.
Vlastnosti parametru
| Typ: | UInt64 |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-IncludeTotalCount
Zaznamenává celkový počet objektů v sadě dat následované vybranými objekty. Pokud rutina nemůže určit celkový počet, zobrazí Neznámý celkový počet. Celé číslo má vlastnost Přesnost, která označuje spolehlivost celkové hodnoty počtu. Hodnota přesnosti se pohybuje od 0.0 do 1.0, kde 0.0 znamená, že rutina nemohla spočítat objekty, 1.0 znamená, že počet je přesný a hodnota mezi 0.0 a 1.0 indikuje stále spolehlivější odhad.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-LiteralPath
Určuje cestu k souborům XML. Na rozdíl od Pathse hodnota parametru LiteralPath používá přesně tak, jak je zadaný. Žádný znak není interpretován jako zástupný znak. Pokud cesta obsahuje únikové znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby žádné znaky neinterpretoval jako únikové sekvence.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | PSPath, PO |
Sady parametrů
ByLiteralPath
| Position: | Named |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Path
Určuje cestu k souborům XML.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ByPath
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Skip
Přeskočí zadaný počet objektů a pak získá zbývající objekty. Zadejte počet objektů, které chcete přeskočit.
Vlastnosti parametru
| Typ: | UInt64 |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
String
Řetězec obsahující cestu k této rutině můžete převést.
Výstupy
PSObject
Tato rutina vrátí objekty, které byly deserializovány z uložených souborů XML.
Poznámky
Při zadávání více hodnot pro parametr použijte čárky k oddělení hodnot. Například: <parameter-name> <value1>, <value2>.