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


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

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