Import-PowerShellDataFile
Импортирует значения из файла .psd1
без вызова его содержимого.
Синтаксис
Import-PowerShellDataFile
[[-Path] <string[]>]
[<CommonParameters>]
Import-PowerShellDataFile
[-LiteralPath <string[]>]
[<CommonParameters>]
Описание
Командлет Import-PowerShellDataFile
безопасно импортирует пары "ключ-значение" из хэш-таблицы, определенные в файле .psd1
. Значения можно импортировать с помощью Invoke-Expression
содержимого файла.
Однако Invoke-Expression
выполняет любой код, содержащийся в файле. Это может привести к нежелательным результатам или выполнить небезопасный код.
Import-PowerShellDataFile
импортирует данные без вызова кода.
Заметка
Вы можете импортировать только первые 500 пар "ключ-значение".
Примеры
Пример 1. Получение значений из PSD1
В этом примере извлекаются пары "ключ-значение", хранящиеся в хэш-таблицы, хранящиеся в файле Configuration.psd1
.
Get-Content
используется для отображения содержимого файла Configuration.psd1
.
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
Параметры
-LiteralPath
Путь к импортируемму файлу. Все символы в пути рассматриваются как литеральные значения.
Тип: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Path
Путь к импортируемму файлу. Подстановочные знаки разрешены, но импортируются только первый соответствующий файл.
Тип: | String[] |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
Выходные данные
Этот командлет возвращает данные из файла в виде хэш-таблицы.