Import-PowerShellDataFile
從 .PSD1 檔案匯入值,而不叫用其內容。
語法
ByPath (預設值)
Import-PowerShellDataFile
[-Path] <String[]>
[-SkipLimitCheck]
[<CommonParameters>]
ByLiteralPath
Import-PowerShellDataFile
[-LiteralPath] <String[]>
[-SkipLimitCheck]
[<CommonParameters>]
Description
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[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | PSPath, LP |
參數集
ByLiteralPath
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Path
要匯入之檔案的路徑。 允許通配符,但只會匯入第一個相符的檔案。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | True |
| 不要顯示: | False |
參數集
ByPath
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-SkipLimitCheck
根據預設,Import-PowerShellDataFile 只會從 .psd1 檔案匯入 500 個密鑰。 使用 SkipLimitCheck 匯入超過 500 個金鑰。
參數屬性
| 類型: | Switch |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
All
| Position: | 0 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸出
Hashtable
此 Cmdlet 會將檔案中的數據當做哈希表傳回。