Import-PowerShellDataFile

Importiert Werte aus einer .psd1 Datei, ohne den Inhalt aufzugeben.

Syntax

ByPath (Standard)

Import-PowerShellDataFile
    [-Path] <String[]>
    [-SkipLimitCheck]
    [<CommonParameters>]

ByLiteralPath

Import-PowerShellDataFile
    [-LiteralPath] <String[]>
    [-SkipLimitCheck]
    [<CommonParameters>]

Beschreibung

Das cmdlet Import-PowerShellDataFile importiert schlüsselwertpaare sicher aus Hashtables, die in einer .psd1 Datei definiert sind. Die Werte können mithilfe von Invoke-Expression für den Inhalt der Datei importiert werden. Invoke-Expression führt jedoch jeden Code aus, der in der Datei enthalten ist. Dies kann unerwünschte Ergebnisse erzeugen oder unsicheren Code ausführen. Import-PowerShellDataFile importiert die Daten ohne Aufrufen des Codes.

Beispiele

Beispiel 1: Abrufen von Werten aus PSD1

In diesem Beispiel werden die Schlüsselwertpaare abgerufen, die in der Hashtabelle gespeichert sind, die in der Configuration.psd1 Datei gespeichert ist. Get-Content wird verwendet, um den Inhalt der Configuration.psd1 Datei anzuzeigen.

Get-Content .\Configuration.psd1
$config = Import-PowerShellDataFile .\Configuration.psd1
$config.AllNodes
@{
    AllNodes = @(
        @{
            NodeName = 'DSC-01'
        }
        @{
            NodeName = 'DSC-02'
        }
    )
}

Name                           Value
----                           -----
NodeName                       DSC-01
NodeName                       DSC-02

Parameter

-LiteralPath

Der Pfad zu der Datei, die importiert wird. Alle Zeichen im Pfad werden als Literalwerte behandelt. Wildcardzeichen werden nicht verarbeitet.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:PSPath, EP

Parametersätze

ByLiteralPath
Position:0
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Path

Der Pfad zu der Datei, die importiert wird. Wildcards sind zulässig, aber nur die erste übereinstimmende Datei wird importiert.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

ByPath
Position:0
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-SkipLimitCheck

Standardmäßig Import-PowerShellDataFile sind 500 Schlüssel mit maximal 5000 AST-Knoten beim Importieren aus einer .psd1 Datei beschränkt. Verwenden Sie SkipLimitCheck , um diese Grenzwerte zu umgehen.

Important

Sie sollten die Grenzwerte nur umgehen, wenn Sie sicher sind, dass die Datei sicher importiert werden kann. Es ist möglich, dass ein böswilliger Akteur eine .psd1 Datei mit einer großen Anzahl von Schlüsseln oder AST-Knoten erstellt, die zu einem Denial of Service führen könnten.

Parametereigenschaften

Typ:Switch
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

All
Position:0
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Ausgaben

Hashtable

Dieses Cmdlet gibt die Daten aus der Datei als Hashtabelle zurück.