Sdílet prostřednictvím


Export-Clixml

Vytvoří reprezentaci objektu nebo objektů založených na jazyce XML a uloží ho do souboru.

Syntaxe

Export-Clixml
      [-Path] <String>
      -InputObject <PSObject>
      [-Depth <Int32>]
      [-Force]
      [-NoClobber]
      [-Encoding <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Export-Clixml
      -LiteralPath <String>
      -InputObject <PSObject>
      [-Depth <Int32>]
      [-Force]
      [-NoClobber]
      [-Encoding <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

Rutina Export-Clixml serializovala objekt do reprezentace založené na jazyce XML (Common Language Infrastructure) do souboru. Potom můžete použít Import-Clixml rutinu k opětovnému vytvoření uloženého objektu na základě obsahu tohoto souboru. Další informace o rozhraní příkazového řádku najdete v tématu nezávislosti jazyka.

Tato rutina se podobá ConvertTo-Xmls tím rozdílem, že Export-Clixml uloží výsledný kód XML do souboru. ConvertTo-Xml vrátí xml, takže ho můžete dál zpracovávat v PowerShellu.

Cenným využitím Export-Clixml na počítačích s Windows je bezpečně exportovat přihlašovací údaje a zabezpečit řetězce jako XML. Příklad najdete v příkladu 3.

Příklady

Příklad 1: Export řetězce do souboru XML

Tento příklad vytvoří soubor XML, který je uložen v aktuálním adresáři, reprezentace řetězce Toto je testovací.

"This is a test" | Export-Clixml -Path .\sample.xml

Řetězec This is a test se odešle do kanálu. Export-Clixml používá parametr Path k vytvoření souboru XML s názvem sample.xml v aktuálním adresáři.

Příklad 2: Export objektu do souboru XML

Tento příklad ukazuje, jak exportovat objekt do souboru XML a pak vytvořit objekt importem XML ze souboru.

Get-Acl C:\test.txt | Export-Clixml -Path .\FileACL.xml
$fileacl = Import-Clixml -Path .\FileACL.xml

Rutina Get-Acl získá popisovač zabezpečení souboru Test.txt. Odešle objekt dolů kanálu, aby předal popisovač zabezpečení Export-Clixml. Reprezentace objektu založená na jazyce XML je uložena v souboru s názvem FileACL.xml.

Rutina Import-Clixml vytvoří objekt z XML v souboru FileACL.xml. Potom uloží objekt do proměnné $fileacl.

Příklad 3: Šifrování exportované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 jiných než Windows, jako je macOS a Linux, se přihlašovací údaje exportují jako prostý text uložený jako pole znaků Unicode. To poskytuje určité obfuskace, ale neposkytuje šifrování.

$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 WindowsData Protection . Šifrování zajišťuje, že obsah objektu přihlašovacích údajů může dešifrovat pouze váš uživatelský účet na tomto počítači. Exportovaný soubor 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.

Parametry

-Confirm

Před spuštěním rutiny vás vyzve k potvrzení.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Depth

Určuje, kolik úrovní obsažených objektů je součástí reprezentace XML. Výchozí hodnota je 2.

Výchozí hodnotu lze přepsat pro typ objektu v Types.ps1xml soubory. Další informace naleznete v tématu about_Types.ps1xml.

Typ:Int32
Position:Named
Default value:2
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Encoding

Určuje typ kódování cílového souboru. Výchozí hodnota je unicode.

Přijatelné hodnoty pro tento parametr jsou následující:

  • ASCII používá znakovou sadu ASCII (7bitová).
  • BigEndianUnicode používá UTF-16 s pořadím velkých bajtů.
  • Default Používá kódování, které odpovídá aktivní znakové stránce systému (obvykle ANSI).
  • OEM Používá kódování, které odpovídá aktuální znakové stránce OEM systému.
  • Unicode používá UTF-16 s minimálním pořadím bajtů.
  • UTF7 používá UTF-7.
  • UTF8 používá UTF-8.
  • UTF32 používá UTF-32 s minimálním pořadím bajtů.
Typ:String
Přípustné hodnoty:ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32
Position:Named
Default value:Unicode
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Force

Vynutí spuštění příkazu bez výzvy k potvrzení uživatele.

Způsobí, že rutina v případě potřeby vymaže atribut výstupního souboru jen pro čtení. Po dokončení příkazu se rutina pokusí obnovit atribut jen pro čtení.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-InputObject

Určuje objekt, který se má převést. Zadejte proměnnou, která obsahuje objekty, nebo zadejte příkaz nebo výraz, který objekty získá. Objekty lze také pipetovat do Export-Clixml.

Typ:PSObject
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-LiteralPath

Určuje cestu k souboru, kde bude uložena reprezentace XML objektu. Na rozdíl od Pathse hodnota parametru LiteralPath používá přesně tak, jak je zadaný. Žá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
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-NoClobber

Označuje, že rutina nepřepíše obsah existujícího souboru. Ve výchozím nastavení, pokud soubor existuje v zadané cestě, Export-Clixml přepíše soubor bez upozornění.

Typ:SwitchParameter
Aliasy:NoOverwrite
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Path

Určuje cestu k souboru, kde bude uložena reprezentace XML objektu.

Typ:String
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-WhatIf

Ukazuje, co se stane, když se rutina spustí. Rutina se nespustí.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

PSObject

Do této rutiny můžete vytvořit kanál libovolného objektu.

Výstupy

FileInfo

Tato rutina vrátí FileInfo objekt představující vytvořený soubor s uloženými daty.