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


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

Выходные данные

Hashtable

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