Megosztás a következőn keresztül:


Import-Clixml

Importál egy CLIXML-fájlt, és létrehozza a megfelelő objektumokat a PowerShellben.

Syntax

ByPath (Alapértelmezett)

Import-Clixml
    [-Path] <String[]>
    [-IncludeTotalCount]
    [-Skip <UInt64>]
    [-First <UInt64>]
    [<CommonParameters>]

ByLiteralPath

Import-Clixml
    -LiteralPath <String[]>
    [-IncludeTotalCount]
    [-Skip <UInt64>]
    [-First <UInt64>]
    [<CommonParameters>]

Description

A Import-Clixml parancsmag importálja a Common Language Infrastructure (CLI) XML-fájlba szerializált objektumokat. A Windows rendszerű számítógépeken a Import-Clixml értékes használata a biztonságos XML-ként exportált hitelesítő adatok és biztonságos sztringek importálása Export-Clixmlhasználatával. 2. példa bemutatja, hogyan lehet Import-Clixml biztonságos hitelesítőadat-objektumot importálni.

A CLIXML-adatok vissza lesznek deszerializálva PowerShell-objektumokba. A deszerializált objektumok azonban nem élő objektumok. Ezek pillanatképek az objektumokról a szerializálás időpontjában. A deszerializált objektumok tulajdonságokat tartalmaznak, de metódusokat nem.

A TypeNames tulajdonság a Deserializedelőtaggal ellátott eredeti típusnevet tartalmazza. 3. példa deszerializált objektum TypeNames tulajdonságát jeleníti meg.

Import-Clixml a byte-order-mark (BOM) használatával észleli a fájl kódolási formátumát. Ha a fájl nem rendelkezik BOM-lal, feltételezi, hogy a kódolás UTF8.

További információ a parancssori felületről: Nyelvi függetlenség.

Példák

1. példa: Szerializált fájl importálása és objektum újbóli létrehozása

Ez a példa a Export-Clixml parancsmaggal menti a Get-Processáltal visszaadott folyamatadatok szerializált másolatát. Import-Clixml lekéri a szerializált fájl tartalmát, és újra létrehozza a $Processes változóban tárolt objektumot.

Get-Process | Export-Clixml -Path .\pi.xml
$Processes = Import-Clixml -Path .\pi.xml

2. példa: Biztonságos hitelesítőadat-objektum importálása

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 rendszerű operációs rendszereken, például macOS-en és Linuxon a hitelesítő adatok egyszerű szövegben lesznek exportálva.

$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.

3. példa: Deszerializált objektum TypeNames tulajdonságának vizsgálata

Ez a példa egy CLIXML-adatként tárolt objektum importálását mutatja be. Az adatok újra deszerializálva lesznek egy PowerShell-objektumba. A deszerializált objektum azonban nem élő objektum. Ezek pillanatképek az objektumokról a szerializálás időpontjában. A deszerializált objektumok tulajdonságokat tartalmaznak, de metódusokat nem.

$original = [pscustomobject] @{
    Timestamp = Get-Date
    Label     = 'Meeting event'
}
$original | Add-Member -MemberType ScriptMethod -Name GetDisplay -Value {
    '{0:yyyy-MM-dd HH:mm} {1}' -f $this.Timestamp, $this.Label
}
$original | Get-Member -MemberType ScriptMethod
   TypeName: System.Management.Automation.PSCustomObject

Name        MemberType   Definition
----        ----------   ----------
Equals      Method       bool Equals(System.Object obj)
GetHashCode Method       int GetHashCode()
GetType     Method       type GetType()
ToString    Method       string ToString()
Label       NoteProperty string Label=Meeting event
Timestamp   NoteProperty System.DateTime Timestamp=1/31/2024 2:27:59 PM
GetDisplay  ScriptMethod System.Object GetDisplay();
$original | Export-Clixml -Path event.clixml
$deserialized = Import-CliXml -Path event.clixml
$deserialized | Get-Member
   TypeName: Deserialized.System.Management.Automation.PSCustomObject

Name        MemberType   Definition
----        ----------   ----------
Equals      Method       bool Equals(System.Object obj)
GetHashCode Method       int GetHashCode()
GetType     Method       type GetType()
ToString    Method       string ToString()
Label       NoteProperty string Label=Meeting event
Timestamp   NoteProperty System.DateTime Timestamp=1/31/2024 2:27:59 PM

Vegye figyelembe, hogy a $original objektumtípusa System.Management.Automation.PSCustomObject, de az objektum típusa $deserializedDeserialized.System.Management.Automation.PSCustomObject. Emellett a GetDisplay() metódus hiányzik a deszerializált objektumból.

Paraméterek

-First

Csak a megadott számú objektumot kapja meg. Adja meg a lekérni kívánt objektumok számát.

Paramétertulajdonságok

Típus:UInt64
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

-IncludeTotalCount

Az adathalmazban lévő objektumok teljes számát jelenti, majd a kijelölt objektumokat. Ha a parancsmag nem tudja meghatározni a teljes számot, Ismeretlen teljes számjelenik meg. Az egész szám rendelkezik egy Pontosság tulajdonságával, amely a teljes számérték megbízhatóságát jelzi. A Pontosság értéke 0.0 és 1.0 között mozog, ahol 0.0 azt jelenti, hogy a parancsmag nem tudta megszámolni az objektumokat, 1.0 azt jelenti, hogy a szám pontos, és a 0.0 és 1.0 közötti érték egyre megbízhatóbb becslést jelez.

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

-LiteralPath

Megadja az XML-fájlok elérési útját. 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

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:True
Fennmaradó argumentumokból származó érték:False

-Path

Megadja az XML-fájlok elérési útját.

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:True
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-Skip

Figyelmen kívül hagyja a megadott számú objektumot, majd lekéri a fennmaradó objektumokat. Adja meg a kihagyandó objektumok számát.

Paramétertulajdonságok

Típus:UInt64
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

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

String

A parancsmag elérési útját tartalmazó sztringet csövezheti.

Kimenetek

PSObject

Ez a parancsmag a tárolt XML-fájlokból deszerializált objektumokat ad vissza.

Jegyzetek

Ha több értéket ad meg egy paraméterhez, vesszővel válassza el egymástól az értékeket. Például: <parameter-name> <value1>, <value2>.