Freigeben über


Import-Clixml

Importiert eine CLIXML-Datei und erstellt entsprechende Objekte in PowerShell.

Syntax

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

Beschreibung

Das Import-Clixml Cmdlet importiert eine XML-Datei (Common Language Infrastructure, CLI) mit Daten, die Microsoft .NET Framework-Objekte darstellen, und erstellt die PowerShell-Objekte. Weitere Informationen zur CLI finden Sie unter Sprachenunabhängigkeit.

Eine wertvolle Verwendung von Import-Clixml auf Windows-Computern besteht darin, Anmeldeinformationen und sichere Zeichenfolgen zu importieren, die mit Export-Clixmlals sicheres XML exportiert wurden. Ein Beispiel finden Sie unter Beispiel 2.

Import-Clixml verwendet die Bytereihenfolgemarkierung (BOM), um das Codierungsformat der Datei zu erkennen. Wenn die Datei keine BOM enthält, wird davon ausgegangen, dass die Codierung UTF8 ist.

Beispiele

Beispiel 1: Importieren einer serialisierten Datei und Neuerstellen eines Objekts

In diesem Beispiel wird das Export-Clixml Cmdlet verwendet, um eine serialisierte Kopie der von Get-Processzurückgegebenen Prozessinformationen zu speichern. Import-Clixml ruft den Inhalt der serialisierten Datei ab und erstellt ein Objekt neu, das in der $Processes Variablen gespeichert ist.

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

Beispiel 2: Importieren eines sicheren Anmeldeinformationsobjekts

In diesem Beispiel können Sie mit anmeldeinformationen, die Sie in der $Credential Variablen gespeichert haben, indem Sie das Get-Credential Cmdlet ausführen, um die Export-Clixml Anmeldeinformationen auf dem Datenträger zu speichern.

Wichtig

Export-Clixml exportiert nur verschlüsselte Anmeldeinformationen unter Windows. Bei Nicht-Windows-Betriebssystemen wie macOS und Linux werden Anmeldeinformationen als Nur-Text exportiert.

$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

Das Export-Clixml Cmdlet verschlüsselt Anmeldeinformationsobjekte mithilfe der Windows Data Protection-API. Die Verschlüsselung stellt sicher, dass nur Ihr Benutzerkonto den Inhalt des Anmeldeinformationsobjekts entschlüsseln kann. Die exportierte CLIXML Datei kann nicht auf einem anderen Computer oder von einem anderen Benutzer verwendet werden.

Im Beispiel wird die Datei, in der die Anmeldeinformationen gespeichert sind, durch TestScript.ps1.credentialdargestellt. Ersetzen Sie TestScript durch den Namen des Skripts, mit dem Sie die Anmeldeinformationen laden.

Sie senden das Anmeldeinformationsobjekt in der Pipeline an Export-Clixml, und speichern es im Pfad , $Credxmlpathden Sie im ersten Befehl angegeben haben.

Führen Sie die letzten beiden Befehle aus, um die Anmeldeinformationen automatisch in Ihr Skript zu importieren. Führen Sie aus Import-Clixml , um das Objekt für gesicherte Anmeldeinformationen in Ihr Skript zu importieren. Durch diesen Import wird das Risiko vermieden, dass Nur-Text-Kennwörter in Ihrem Skript verfügbar sind.

Parameter

-First

Ruft nur die angegebene Anzahl von Objekten ab. Geben Sie die Anzahl der abzurufenden Objekte an.

Type:UInt64
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IncludeTotalCount

Gibt die Gesamtanzahl der Objekte im Dataset gefolgt von den ausgewählten Objekten an. Wenn das Cmdlet die Gesamtanzahl nicht ermitteln kann, wird unbekannte Gesamtanzahl angezeigt. Die ganze Zahl verfügt über eine Accuracy-Eigenschaft , die die Zuverlässigkeit des Gesamtanzahlwerts angibt. Der Wert von Accuracy reicht von 0.0 bis 1.0 , wobei 0.0 bedeutet, dass das Cmdlet die Objekte nicht zählen konnte, bedeutet, 1.0 dass die Anzahl genau ist und ein Wert zwischen 0.0 und 1.0 eine immer zuverlässigere Schätzung angibt.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

Gibt den Pfad zu den XML-Dateien an. Im Gegensatz zu Path wird der Wert des LiteralPath-Parameters genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen weisen PowerShell an, keine Zeichen als Escapesequenzen zu interpretieren.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

Gibt den Pfad zu den XML-Dateien an.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Skip

Ignoriert die angegebene Anzahl an Objekten und ruft anschließend die übrigen Objekte ab. Geben Sie die Anzahl der zu überspringenden Objekte an.

Type:UInt64
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

String

Sie können eine Pipeline für eine Zeichenfolge ausführen, die einen Pfad zu Import-Clixmlenthält.

Ausgaben

PSObject

Import-Clixml gibt Objekte zurück, die aus den gespeicherten XML-Dateien deserialisiert wurden.

Hinweise

Wenn Sie für einen Parameter mehrere Werte angeben, verwenden Sie Kommas zur Trennung der Werte. Beispiel: <parameter-name> <value1>, <value2>.