Import-PowerShellDataFile

.PSD1 文件中导入值,而无需调用其内容。

语法

Import-PowerShellDataFile
      [-Path] <String[]>
      [-SkipLimitCheck]
      [<CommonParameters>]
Import-PowerShellDataFile
      [-LiteralPath] <String[]>
      [-SkipLimitCheck]
      [<CommonParameters>]

说明

Import-PowerShellDataFile cmdlet 安全地从 .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[]
别名:PSPath, LP
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Path

要导入的文件的路径。 允许通配符,但仅导入第一个匹配文件。

类型:String[]
Position:0
默认值:None
必需:True
接受管道输入:False
接受通配符:True

-SkipLimitCheck

默认情况下,Import-PowerShellDataFile 仅从 .psd1 文件导入 500 个密钥。 使用 SkipLimitCheck 导入 500 多个密钥。

类型:Switch
Position:0
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输出

Hashtable

此 cmdlet 以哈希表的形式返回文件中的数据。