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