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

Этот командлет возвращает данные из файла в виде хэш-таблицы.