Export-Clixml
Egy objektum vagy objektum XML-alapú ábrázolását hozza létre, és tárolja egy fájlban.
Syntax
ByPath (Alapértelmezett)
Export-Clixml
[-Path] <String>
-InputObject <PSObject>
[-Depth <Int32>]
[-Force]
[-NoClobber]
[-Encoding <Encoding>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByLiteralPath
Export-Clixml
-LiteralPath <String>
-InputObject <PSObject>
[-Depth <Int32>]
[-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. További információ a parancssori felületről: Nyelvi függetlenség.
Ez a parancsmag hasonló a ConvertTo-Xml, kivéve, hogy Export-Clixml az eredményként kapott XML-t egy fájlban tárolja.
ConvertTo-XML visszaadja az XML-t, így továbbra is feldolgozhatja azt a PowerShellben.
A Windows rendszerű számítógépeken a Export-Clixml értékes használata 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ó, a sztring Ez egy teszt.
"This is a test" | Export-Clixml -Path .\sample.xml
A This is a test sztringet a rendszer a folyamaton keresztül küldi el.
Export-Clixml a Path paraméter használatával hoz létre egy sample.xml nevű XML-fájlt 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 Test.txt fájl biztonsági leíróját. Elküldi az objektumot a folyamaton, hogy átadja a biztonsági leírót Export-Clixml. Az objektum XML-alapú ábrázolása egy FileACL.xmlnevű fájlban van tárolva.
A Import-Clixml parancsmag létrehoz egy objektumot az XML-fájlból a FileACL.xml fájlban. 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 $Credential parancsmag futtatásával a Get-Credential változóban tárolt hitelesítő adatokat tekintve a Export-Clixml parancsmagot futtatva 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 APIhaszná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 TestScript.ps1.credentialjelöli. Cserélje le TestScript azon szkript nevére, amellyel betölti a hitelesítő adatokat.
A hitelesítőadat-objektumot a folyamaton keresztül kell elküldenie a Export-Clixml, és mentenie kell 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 szkriptbe való importálásához. 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 PSCredential hozunk létre a $Credential változóban a Get-Credential parancsmag használatával. Ezután a Export-Clixml használatával mentjük 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.
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ő Get-Content kimenete 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, amint azt Format-Hex. Az érték tehát kódolva van, de nincs titkosítva.
Paraméterek
-Confirm
Megerősítést kér a parancsmag futtatása előtt.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | Cf |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Depth
Meghatározza, hogy hány szint tartalmaz objektumokat az XML-reprezentációban. Az alapértelmezett érték a 2.
Az alapértelmezett érték felülírható a Types.ps1xml fájlok objektumtípusához. További információkért lásd a about_Types.ps1xmlrészt.
Paramétertulajdonságok
| Típus: | Int32 |
| Alapértelmezett érték: | 2 |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Encoding
Megadja a célfájl kódolási típusát. Az alapértelmezett érték a 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: Az UTF-16 formátumú kódolást a big-endian bájtsorrend alkalmazásával végzi. -
bigendianutf32: UTF-32 formátumban kódol nagyvégű bájtsorrend használatával. -
oem: Az alapértelmezett kódolást használja MS-DOS és konzolprogramokhoz. -
unicode: Az UTF-16 formátumban kódol 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átumban kódolódik bájt sorrendi jel (BOM) használatával -
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.
Megjegyzés:
UTF-7* már nem ajánlott. PowerShell 7.1-től kezdve figyelmeztetés jelenik meg, ha utf7-et ad meg a kódolás paraméterhez.
Paramétertulajdonságok
| Típus: | Encoding |
| Alapértelmezett érték: | UTF8NoBOM |
| Elfogadott értékek: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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 Export-Clixml-ba is továbbíthatja.
Paramétertulajdonságok
| Típus: | PSObject |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | True |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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 útvonal escape karaktereket tartalmaz, tedd azt egyes idézőjelek közé. Az egyes idézőjelek azt mondják a PowerShellnek, hogy egyetlen karaktert se értelmezzen escape szekvenciaként.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | PSPath, LP |
Paraméterkészletek
ByLiteralPath
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | NoOverwrite |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Path
Megadja annak a fájlnak az elérési útját, amelyben az objektum XML-reprezentációja lesz tárolva.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
ByPath
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-WhatIf
Megjeleníti, mi történne, ha a parancsmag futna. A parancsprogram nem lett futtatva.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | Wi |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
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 a tárolt adatokkal jelöli.