Import-PowerShellDataFile
Импортирует значения из файла .psd1 без вызова его содержимого.
Синтаксис
ByPath (По умолчанию)
Import-PowerShellDataFile
[-Path] <String[]>
[-SkipLimitCheck]
[<CommonParameters>]
ByLiteralPath
Import-PowerShellDataFile
[-LiteralPath] <String[]>
[-SkipLimitCheck]
[<CommonParameters>]
Описание
Командлет Import-PowerShellDataFile безопасно импортирует пары "ключ-значение" из хэш-таблицы, определенные в файле .psd1. Значения можно импортировать с помощью Invoke-Expression содержимого файла.
Однако Invoke-Expression выполняет любой код, содержащийся в файле. Это может привести к нежелательным результатам или выполнить небезопасный код.
Import-PowerShellDataFile импортирует данные без вызова кода.
Примеры
Пример 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[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | PSPath, LP |
Наборы параметров
ByLiteralPath
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Path
Путь к импортируемму файлу. Подстановочные знаки разрешены, но импортируются только первый соответствующий файл.
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
Наборы параметров
ByPath
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-SkipLimitCheck
По умолчанию Import-PowerShellDataFile при импорте из .psd1 файла ограничено 500 ключей, содержащих не более 5000 узлов AST. Используйте SkipLimitCheck для обхода этих ограничений.
Это важно
Вы должны обойти только ограничения, если вы уверены, что файл является безопасным для импорта. Злоумышленник может создать .psd1 файл с большим количеством ключей или узлов AST, которые могут привести к отказу в обслуживании.
Свойства параметров
| Тип: | Switch |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
All
| Position: | 0 |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Выходные данные
Hashtable
Этот командлет возвращает данные из файла в виде хэш-таблицы.