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 импортирует данные без вызова кода. По умолчанию существует ограничение на 500 ключей, но это можно обойти с помощью параметра SkipLimitCheck.
Примеры
Пример 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 импортирует только 500 ключей из файла .psd1. Используйте SkipLimitCheck для импорта более 500 ключей.
Свойства параметра
| Тип: | 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
Этот командлет возвращает данные из файла в виде хэш-таблицы.