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