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 die PowerShell-Objekte erstellt. Weitere Informationen zu CLI finden Sie unter Sprachunabhängigkeit.

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

Import-Clixml Verwendet das Byte-Order-Mark (BOM), um das Codierungsformat der Datei zu erkennen. Wenn die Datei keine BOM aufweist, wird davon ausgegangen, dass die Codierung UTF8 ist.

Beispiele

Beispiel 1: Importieren einer serialisierten Datei und Erstellen eines Objekts

In diesem Beispiel wird das Export-Clixml Cmdlet verwendet, um eine serialisierte Kopie der von Get-Processihnen zurü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 Anmeldeinformationenobjekts

In diesem Beispiel können Sie in diesem Beispiel eine Anmeldeinformationen ausführen, die Sie in der $Credential Variablen gespeichert haben, indem Sie das Cmdlet ausführen Get-Credential , 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 in 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 Anmeldeinformationenobjekte mithilfe der Windows Data Protection-API. Die Verschlüsselung stellt sicher, dass nur Ihr Benutzerkonto den Inhalt des Anmeldeinformationenobjekts 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 dargestellt, in der die Anmeldeinformationen gespeichert werden TestScript.ps1.credential. Ersetzen Sie TestScript durch den Namen des Skripts, mit dem Sie die Anmeldeinformationen laden.

Sie senden das Anmeldeinformationenobjekt nach unten an die Pipeline Export-Clixml, und speichern Sie sie im Pfad, $Credxmlpathden Sie im ersten Befehl angegeben haben.

Um die Anmeldeinformationen automatisch in Ihr Skript zu importieren, führen Sie die letzten beiden Befehle aus. Führen Sie Import-Clixml aus, um das gesicherte Anmeldeinformationenobjekt in Ihr Skript zu importieren. Dieser Import beseitigt das Risiko, nur textbasierte Kennwörter in Ihrem Skript zu exponieren.

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

Meldet die Gesamtzahl der Objekte im Datentyp gefolgt von den ausgewählten Objekten. Wenn das Cmdlet die Gesamtanzahl nicht bestimmen kann, wird die Gesamtanzahl unbekannt angezeigt. Die ganze Zahl weist eine Genauigkeitseigenschaft auf, die die Zuverlässigkeit des Gesamtanzahlswerts angibt. Der Wert der Genauigkeit liegt zwischen 0.01.0 und wo 0.0 bedeutet, dass das Cmdlet die Objekte nicht zählen konnte, 1.0 bedeutet, dass die Anzahl genau ist und ein Wert zwischen 0.0 und 1.0 gibt eine zunehmend zuverlässige Schätzung an.

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 wie eingegeben verwendet. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einzelne Anführungszeichen weisen PowerShell darauf hin, 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 Zeichenfolge pipelineieren, die einen Pfad enthält Import-Clixml.

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