Поделиться через


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

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