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 szerializált egy objektumot egy Common Language Infrastructure (CLI) XML-alapú reprezentációba, amely egy fájlban tárolja. 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-Xml
ahhoz, 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-Clixml
A 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.xml
van 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-Hex
rendszer 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ülutf32
: 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
Ehhez a parancsmaghoz bármilyen objektumot folyamatba helyezhet.
Kimenetek
Ez a parancsmag egy FileInfo objektumot ad vissza, amely a létrehozott fájlt jelöli a tárolt adatokkal.
Kapcsolódó hivatkozások
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: