Export-Clixml

Egy objektum vagy objektum XML-alapú ábrázolását hozza létre, és tárolja egy fájlban.

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étrehoz egy objektum vagy objektum közös nyelvi infrastruktúra (CLI) XML-alapú ábrázolását, és tárolja 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 nyelv függetlenségét.

Ez a parancsmag hasonló ConvertTo-Xmlahhoz, kivéve, hogy Export-Clixml az eredményként kapott XML-fájlt egy fájlban tárolja. ConvertTo-XML visszaadja az XML-t, így folytathatja a feldolgozást a PowerShellben.

A Windows rendszerű számítógépeken a hitelesítő adatok és a sztringek biztonságos xml-fájlként való exportálása Export-Clixml értékes. 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 van tárolva, amely a következő sztringet ábrázolja: Ez egy teszt.

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

A sztring This is a test le lesz küldve a folyamatról. Export-ClixmlA Path paraméter használatával létrehoz egy XML-fájlt sample.xml az aktuális könyvtárban.

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 . Elküldi az objektumot a folyamaton, hogy átadja a biztonsági leírót.Export-Clixml Az objektum XML-alapú ábrázolása egy nevű fájlban FileACL.xmlvan tárolva.

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 $Credential a parancsmag futtatásával Get-Credential tárolt hitelesítő adatokat tekintve a Export-Clixml parancsmag futtatásával mentheti a hitelesítő adatokat a lemezre.

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 elhomályosítá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 a 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ő objektumot elküldheti a folyamaton Export-Clixml, és mentheti az első parancsban megadott elérési útra $Credxmlpath.

Ha automatikusan szeretné importálni a hitelesítő adatokat a szkriptbe, futtassa az utolsó két parancsot. Futtassa Import-Clixml a biztonságos hitelesítőadat-objektum importálását a szkriptbe. Ez az importálás kiküszöböli az egyszerű szöveges jelszavak szkriptben való felfedésének kockázatát.

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

Ebben a példában egy PSCredentialt 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 elhomályosítá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

A példában szereplő kimenet Get-Content csonkva lett, hogy az XML-fájl hitelesítő adataira összpontosítson. Vegye figyelembe, hogy a jelszó egyszerű szöveges értéke unicode karaktertömbként van tárolva az XML-fájlban, ahogy azt a Format-Hexrendszer igazolja. 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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Depth

Megadja, hogy hány szint tartalmazott objektumokat 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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Encoding

Megadja a célfájl kódolási típusát. 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ódolja a big-endian bájtsorrendet.
  • bigendianutf32: UTF-32 formátumban kódolja a big-endian bájtsorrendet.
  • oem: Az MS-DOS és a konzolprogramok alapértelmezett kódolását használja.
  • unicode: UTF-16 formátumban kódolja a kis végű bájtsorrendet.
  • utf7: UTF-7 formátumban kódol.
  • utf8: UTF-8 formátumban kódol.
  • utf8BOM: UTF-8 formátumban kódol byte order mark (BOM)
  • utf8NoBOM: UTF-8 formátumban kódol byte order mark (BOM) nélkül
  • utf32: UTF-32 formátumban kódol.

A PowerShell 6.2-től kezdődően a Kódolás paraméter lehetővé teszi 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"). További információt a Encoding.CodePage .NET-dokumentációjában talál.

Feljegyzés

Az UTF-7* már nem ajánlott. A PowerShell 7.1-ről figyelmeztetést ír, ha utf7 megadja 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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Kényszeríti a parancs futtatását anélkül, hogy felhasználói megerősítést kérne.

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 a csak olvasható attribútumot, amikor a parancs befejeződik.

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

-InputObject

A konvertálni kívánt objektumot adja 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 be is csövezheti a parancsba Export-Clixml.

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

-LiteralPath

Megadja annak a fájlnak az elérési útját, amelyben az objektum XML-reprezentációja lesz tárolva. A Path-tal ellentétben a LiteralPath paraméter értéke pontosan a beírt módon lesz használva. A rendszer egyetlen karaktert sem értelmez helyettesítő karakterként. Ha az elérési út tartalmaz escape karaktereket, csatolja egy idézőjelek közé. Az idézőjelek azt mondják a PowerShellnek, hogy ne értelmezzen karaktereket feloldósorozatként.

Type:String
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
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 figyelmeztetés nélkül felülírja a fájlt.

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

-Path

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

Type:String
Position:0
Default value:None
Required:True
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Bevitelek

PSObject

Ehhez a parancsmaghoz bármilyen objektumot folyamatba helyezhet.

Kimenetek

FileInfo

Ez a parancsmag egy FileInfo objektumot ad vissza, amely a létrehozott fájlt jelöli a tárolt adatokkal.