Export-Clixml

Xml-alapú objektum- vagy objektumreprezentációt hoz létre, és egy fájlban tárolja.

Syntax

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

Description

A Export-Clixml parancsmag létrehozza egy objektum vagy objektum Közös Nyelvi Infrastruktúra (CLI) XML-alapú reprezentációját, és tárolja azt egy fájlban. Ezután a Import-Clixml parancsmaggal újból létrehozhatja a mentett objektumot a fájl tartalma alapján. A parancssori felülettel kapcsolatos további információkért lásd a nyelvfüggetlenségről szóló részt.

Ez a parancsmag a következőhöz ConvertTo-Xmlhasonló, azzal a kivételrel, hogy Export-Clixml az eredményként kapott XML-t egy fájlban tárolja. ConvertTo-XML A visszaadja az XML-t, így folytathatja a feldolgozást a PowerShellben.

A Windows rendszerű számítógépeken hasznos lehet Export-Clixml a hitelesítő adatok és a sztringek biztonságos XML-fájlként való exportálása. Példa: 3. példa.

Példák

1. példa: Sztring exportálása XML-fájlba

Ez a példa létrehoz egy XML-fájlt, amely az aktuális könyvtárban található, az Ez egy teszt sztring reprezentációja.

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

A rendszer elküldi a sztringet This is a test a folyamaton. Export-Clixml uses the Path parameter to create an XML file named sample.xml in the current directory.

2. példa: Objektum exportálása XML-fájlba

Ez a példa bemutatja, hogyan exportálhat egy objektumot EGY XML-fájlba, majd hogyan hozhat létre objektumot az XML fájlból való importálásával.

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

A Get-Acl parancsmag lekéri a fájl biztonsági leíróját Test.txt . Az objektumot leküldi a folyamatba, hogy átadja a biztonsági leírót a következőnek Export-Clixml: . Az objektum XML-alapú reprezentációja egy FileACL.xml.

A Import-Clixml parancsmag létrehoz egy objektumot a fájl XML-fájljából FileACL.xml . Ezután menti az objektumot a $fileacl változóba.

3. példa: Exportált hitelesítőadat-objektum titkosítása Windows rendszeren

Ebben a példában a változóban a $Credential parancsmag futtatásával Get-Credential tárolt hitelesítő adatok alapján futtathatja a Export-Clixml parancsmagot a hitelesítő adatok lemezre mentéséhez.

Fontos

Export-Clixml csak titkosított hitelesítő adatokat exportál Windows rendszeren. Nem Windows operációs rendszereken, például macOS-en és Linuxon a hitelesítő adatok Unicode-karaktertömbként tárolt egyszerű szövegként lesznek exportálva. Ez némi elrejtést biztosít, de nem biztosít titkosítást.

$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

A Export-Clixml parancsmag a Windows Data Protection API használatával titkosítja a hitelesítő adatokat. A titkosítás biztosítja, hogy csak az adott számítógépen lévő felhasználói fiók tudja visszafejteni a hitelesítőadat-objektum tartalmát. Az exportált CLIXML fájl nem használható másik számítógépen vagy másik felhasználó által.

A példában a hitelesítő adatok tárolására szolgáló fájlt a következő jelöli TestScript.ps1.credential: . Cserélje le a TestScriptet annak a szkriptnek a nevére, amellyel betölti a hitelesítő adatokat.

A hitelesítőadat-objektumot a folyamaton Export-Clixmlbelül az első parancsban megadott elérési útra $Credxmlpathmentheti.

A hitelesítő adatok szkriptbe való automatikus importálásához futtassa az utolsó két parancsot. Futtassa Import-Clixml a biztonságos hitelesítőadat-objektum parancsfájlba importálásához. Ez az importálás kiküszöböli az egyszerű szöveges jelszavak felfedésének kockázatát a szkriptben.

4. példa: Hitelesítő objektum exportálása Linux vagy macOS rendszeren

Ebben a példában egy PSCredential objektumot hozunk létre a $Credential változóban a Get-Credential parancsmag használatával. Ezután a hitelesítő adatokat lemezre mentjük Export-Clixml .

Fontos

Export-Clixml csak titkosított hitelesítő adatokat exportál Windows rendszeren. Nem Windows operációs rendszereken, például macOS-en és Linuxon a hitelesítő adatok Unicode-karaktertömbként tárolt egyszerű szövegként lesznek exportálva. Ez némi elrejtést biztosít, de nem biztosít titkosítást.

PS> $Credential = Get-Credential

PowerShell credential request
Enter your credentials.
User: User1
Password for user User1: ********

PS> $Credential | Export-Clixml ./cred2.xml
PS> Get-Content ./cred2.xml

...
    <Props>
      <S N="UserName">User1</S>
      <SS N="Password">700061007300730077006f0072006400</SS>
    </Props>
...

PS> 'password' | Format-Hex -Encoding unicode

   Label: String (System.String) <52D60C91>

          Offset Bytes                                           Ascii
                 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
          ------ ----------------------------------------------- -----
0000000000000000 70 00 61 00 73 00 73 00 77 00 6F 00 72 00 64 00 p a s s w o r d

Ebben a Get-Content példában a kimenet csonkult, hogy az XML-fájl hitelesítő adataira összpontosítson. Vegye figyelembe, hogy a jelszó egyszerű szöveges értéke az XML-fájlban Unicode-karaktertömbként van tárolva, ahogy azt a Format-Hex. Az érték tehát kódolva van, de nincs titkosítva.

Paraméterek

-Confirm

Jóváhagyást kér a parancsmag futtatása előtt.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-Depth

Meghatározza, hogy hány szint tartalmazott objektumot tartalmaz az XML-reprezentációban. Az alapértelmezett érték 2.

Az alapértelmezett érték felülírható a fájlok objektumtípusához Types.ps1xml . További információ: about_Types.ps1xml.

Type:Int32
Position:Named
Default value:2
Accept pipeline input:False
Accept wildcard characters:False

-Encoding

A célfájl kódolási típusát határozza meg. Az alapértelmezett érték utf8NoBOM.

A paraméter elfogadható értékei a következők:

  • ascii: Az ASCII (7 bites) karakterkészlet kódolását használja.
  • bigendianunicode: UTF-16 formátumban kódol a big-endian bájtsorrend használatával.
  • bigendianutf32: UTF-32 formátumban kódol a big-endian bájtsorrend használatával.
  • oem: Az MS-DOS és a konzolprogramok alapértelmezett kódolását használja.
  • unicode: UTF-16 formátumban kódol a kis végű bájtsorrend használatával.
  • utf7: UTF-7 formátumban kódol.
  • utf8: UTF-8 formátumban kódol.
  • utf8BOM: UTF-8 formátumú kódolás bájtsorrendjellel (BOM)
  • utf8NoBOM: UTF-8 formátumú kódolás bájtsorrendjel (BOM) nélkül
  • utf32: UTF-32 formátumban kódol.

A PowerShell 6.2-től kezdődően a Encoding paraméter a regisztrált kódlapok (például -Encoding 1251) numerikus azonosítóit vagy a regisztrált kódlapok sztringneveit (például -Encoding "windows-1251") is lehetővé teszi. További információkért tekintse meg a Encoding.CodePage .NET-dokumentációját.

Megjegyzés

Az UTF-7* használata már nem ajánlott. A PowerShell 7.1-ről figyelmeztetés íródik, ha megadja utf7 a Kódolás paramétert.

Type:Encoding
Accepted values:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Position:Named
Default value:UTF8NoBOM
Accept pipeline input:False
Accept wildcard characters:False

-Force

Kényszeríti a parancs futtatását a felhasználó megerősítésének kérése nélkül.

A parancsmag szükség esetén törli a kimeneti fájl írásvédett attribútumát. A parancsmag megpróbálja alaphelyzetbe állítani az írásvédett attribútumot, amikor a parancs befejeződik.

Type:SwitchParameter
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

A konvertálandó objektumot határozza meg. Adjon meg egy változót, amely tartalmazza az objektumokat, vagy írjon be egy parancsot vagy kifejezést, amely lekéri az objektumokat. Az objektumokat át is adhatja a parancsnak Export-Clixml.

Type:PSObject
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

Megadja annak a fájlnak az elérési útját, ahol az objektum XML-reprezentációja tárolva lesz. A Path paramétertől eltérően a LiteralPath paraméter értéke pontosan a begépelt módon lesz használva. A rendszer egyetlen karaktert sem értelmez helyettesítő karakterként. Ha az elérési út tartalmaz feloldókaraktereket, tegye idézőjelek közé. Az egyszeres idézőjelek arra utasítják a PowerShellt, hogy ne értelmezze feloldókarakterekként a karaktereket.

Type:String
Aliases:PSPath, LP
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-NoClobber

Azt jelzi, hogy a parancsmag nem írja felül egy meglévő fájl tartalmát. Alapértelmezés szerint, ha egy fájl létezik a megadott elérési úton, Export-Clixml a program figyelmeztetés nélkül felülírja a fájlt.

Type:SwitchParameter
Aliases:NoOverwrite
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Megadja annak a fájlnak az elérési útját, ahol az objektum XML-reprezentációja tárolva lesz.

Type:String
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Bevitelek

PSObject

Bármilyen objektumot folyamatba Export-Clixmlhelyezhet.

Kimenetek

FileInfo

Export-Clixml A létrehoz egy FÁJLT, amely tartalmazza az XML-t.