Import-Clixml
Importerar en CLIXML-fil och skapar motsvarande objekt i PowerShell.
Syntax
		ByPath (Standard)
	 
	Import-Clixml
    [-Path] <String[]>
    [-IncludeTotalCount]
    [-Skip <UInt64>]
    [-First <UInt64>]
    [<CommonParameters>]
		ByLiteralPath
	  
	Import-Clixml
    -LiteralPath <String[]>
    [-IncludeTotalCount]
    [-Skip <UInt64>]
    [-First <UInt64>]
    [<CommonParameters>]
Description
Den Import-Clixml cmdleten importerar objekt som har serialiserats till en CLI-fil (Common Language Infrastructure). En värdefull användning av Import-Clixml på Windows-datorer är att importera autentiseringsuppgifter och skydda strängar som exporterades som säker XML med hjälp av Export-Clixml.
              Exempel 2 visar hur du använder Import-Clixml för att importera ett säkert autentiseringsobjekt.
CLIXML-data deserialiseras tillbaka till PowerShell-objekt. De deserialiserade objekten är dock inte levande objekt. De är en ögonblicksbild av objekten vid tidpunkten för serialiseringen. De deserialiserade objekten innehåller egenskaper men inga metoder.
Egenskapen TypeNames innehåller det ursprungliga typnamnet med prefixet Deserialized.
              Exempel 3 visa egenskapen TypeNames för ett deserialiserat objekt.
              Import-Clixml använder byte-order-mark (BOM) för att identifiera kodningsformatet för filen. Om filen inte har någon strukturlista förutsätter den att kodningen är UTF8.
Mer information om CLI finns i Language independence.
Exempel
Exempel 1: Importera en serialiserad fil och återskapa ett objekt
I det här exemplet används cmdleten Export-Clixml för att spara en serialiserad kopia av processinformationen som returneras av Get-Process. 
              Import-Clixml hämtar innehållet i den serialiserade filen och återskapar ett objekt som lagras i variabeln $Processes.
Get-Process | Export-Clixml -Path .\pi.xml
$Processes = Import-Clixml -Path .\pi.xml
Exempel 2: Importera ett objekt för säker autentiseringsuppgift
I det här exemplet kan du, med tanke på en autentiseringsuppgift som du har lagrat i $Credential-variabeln genom att köra Get-Credential-cmdleten, köra cmdleten Export-Clixml för att spara autentiseringsuppgifterna på disken.
Viktigt!
              Export-Clixml exporterar endast krypterade autentiseringsuppgifter i Windows. I icke-Windows-operativsystem som macOS och Linux exporteras autentiseringsuppgifterna i klartext.
$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
Cmdleten Export-Clixml krypterar autentiseringsobjekt med hjälp av Windows Data Protection API. Krypteringen säkerställer att endast ditt användarkonto kan dekryptera innehållet i autentiseringsobjektet. Den exporterade CLIXML-filen kan inte användas på en annan dator eller av en annan användare.
I exemplet representeras filen där autentiseringsuppgifterna lagras av TestScript.ps1.credential. Ersätt TestScript- med namnet på skriptet som du läser in autentiseringsuppgifterna med.
Du skickar autentiseringsobjektet nedåt i pipelinen till Export-Clixmloch sparar det på sökvägen, $Credxmlpath, som du angav i det första kommandot.
Om du vill importera autentiseringsuppgifterna automatiskt till skriptet kör du de två sista kommandona. Kör Import-Clixml för att importera det skyddade autentiseringsobjektet till skriptet. Den här importen eliminerar risken för att exponera oformaterade lösenord i skriptet.
Exempel 3: Inspektera egenskapen TypeNames för ett deserialiserat objekt 
	Det här exemplet visar hur du importerar ett objekt som lagras som CLIXML-data. Data deserialiseras tillbaka till ett PowerShell-objekt. Det deserialiserade objektet är dock inte ett levande objekt. De är en ögonblicksbild av objekten vid tidpunkten för serialiseringen. De deserialiserade objekten innehåller egenskaper men inga metoder.
$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
Observera att objektets typ i $original är System.Management.Automation.PSCustomObject, men objektets typ i $deserialized är Deserialized.System.Management.Automation.PSCustomObject. Dessutom saknas metoden GetDisplay() från det deserialiserade objektet.
Parametrar
-First
Hämtar endast det angivna antalet objekt. Ange antalet objekt som ska hämtas.
Parameteregenskaper
| Typ: | UInt64 | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-IncludeTotalCount  
		Rapporterar det totala antalet objekt i datauppsättningen följt av de markerade objekten. Om cmdleten inte kan fastställa det totala antalet visas Totalt antal okända. Heltalet har egenskapen Precision som anger tillförlitligheten för det totala antalet värden. Värdet för Noggrannhet sträcker sig från 0.0 till 1.0 där 0.0 innebär att cmdleten inte kunde räkna objekten, 1.0 innebär att antalet är exakt och ett värde mellan 0.0 och 1.0 anger en mer tillförlitlig uppskattning.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-LiteralPath 
		Anger sökvägen till XML-filerna. Till skillnad från Pathanvänds värdet för parametern LiteralPath exakt som den skrivs. Inga tecken tolkas som wildcards. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken. Enkla citattecken gör att PowerShell inte tolkar några tecken som escape-sekvenser.
Parameteregenskaper
| Typ: | String[] | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | PSPath, SP | 
Parameteruppsättningar
					ByLiteralPath 
					
				  
				| Position: | Named | 
| Obligatorisk: | True | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | True | 
| Värde från återstående argument: | False | 
-Path
Anger sökvägen till XML-filerna.
Parameteregenskaper
| Typ: | String[] | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
					ByPath 
					
				 
				| Position: | 0 | 
| Obligatorisk: | True | 
| Värde från pipeline: | True | 
| Värde från pipeline efter egenskapsnamn: | True | 
| Värde från återstående argument: | False | 
-Skip
Ignorerar det angivna antalet objekt och hämtar sedan de återstående objekten. Ange antalet objekt som ska hoppa över.
Parameteregenskaper
| Typ: | UInt64 | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Indata
String
Du kan skicka en sträng som innehåller en sökväg till den här cmdleten.
Utdata
PSObject
Den här cmdleten returnerar objekt som deserialiserats från de lagrade XML-filerna.
Kommentarer
När du anger flera värden för en parameter använder du kommatecken för att separera värdena. Till exempel <parameter-name> <value1>, <value2>.