Import-Clixml
Importuje soubor CLIXML a vytvoří odpovídající objekty v PowerShellu.
Syntaxe
Import-Clixml
[-Path] <String[]>
[-IncludeTotalCount]
[-Skip <UInt64>]
[-First <UInt64>]
[<CommonParameters>]
Import-Clixml
-LiteralPath <String[]>
[-IncludeTotalCount]
[-Skip <UInt64>]
[-First <UInt64>]
[<CommonParameters>]
Description
Rutina Import-Clixml
importuje objekty, které byly serializovány do souboru XML common Language Infrastructure (CLI). Cenným využitím počítačů s Import-Clixml
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 importovat Import-Clixml
zabezpečený objekt 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 zobrazte vlastnost TypeNames deserializovaného objektu.
Import-Clixml
používá bajtů -order-mark (BOM) ke zjištění formátu 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ávislost 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, který je uložen v $Processes
proměnné.
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 spustit Get-Credential
přihlašovací údaje, které jste uložili do $Credential
proměnné, a uložit Export-Clixml
přihlašovací údaje na disk.
Důležité
Export-Clixml
Exportuje pouze š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 Export-Clixml
šifruje objekty přihlašovacích údajů pomocí rozhraní API služby Windows Data Protection. Šifrování zajišťuje, že obsah objektu přihlašovacích údajů může dešifrovat pouze váš uživatelský účet. Exportovaný CLIXML
soubor nejde 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, kterým načítáte přihlašovací údaje.
Objekt přihlašovacích údajů odešlete do kanálu Export-Clixml
a uložíte ho do cesty, $Credxmlpath
kterou jste zadali v prvním příkazu.
Pokud chcete přihlašovací údaje do skriptu importovat automaticky, spusťte poslední dva příkazy. Spusťte Import-Clixml
import zabezpečeného objektu 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 je $original
System.Management.Automation.PSCustomObject, ale typ objektu je $deserialized
Deserialized.System.Management.Automation.PSCustomObject. Také metoda GetDisplay()
chybí v deserializovaném objektu.
Parametry
-First
Získá pouze zadaný počet objektů. Zadejte počet objektů, které chcete získat.
Typ: | UInt64 |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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í se neznámý celkový počet. Celé číslo má vlastnost Přesnost , která označuje spolehlivost celkové hodnoty počtu. Hodnota Přesnost se pohybuje od 0.0
1.0
místa, kde 0.0
znamená, že rutina nemohla spočítat objekty, znamená, 1.0
že počet je přesný a hodnota mezi 0.0
a 1.0
označuje stále spolehlivější odhad.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-LiteralPath
Určuje cestu k souborům XML. Na rozdíl od cesty se hodnota parametru LiteralPath používá přesně tak, jak je zadána. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud cesta obsahuje řídicí znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby nepřekládaly žádné znaky jako řídicí sekvence.
Typ: | String[] |
Aliasy: | PSPath, LP |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Path
Určuje cestu k souborům XML.
Typ: | String[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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.
Typ: | UInt64 |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
Řetězec obsahující cestu k této rutině můžete převést.
Výstupy
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>
.