如何在powershell中将嵌套的任意关联数组值写入.psd1文件?

War*_* P 11 arrays powershell hashtable propertybag

我有一个以编程方式生成的powershell数组对象,数组内部的数组,数组内部,有时称为"属性包"或"哈希表",但我认为它在本机上称为"包含数组的数组"术语.

例如:

 @{
 Version  = '1.0.0'
 Name     = 'thing'
 Revision = 'c3a89cd20e19bb82f41e95e0806edc5b6cfd224e'
 Date     = '2016-12-09'
 Build    = '1234'
 Contents = @{
      "index.html" = "23dd7b993f40bb3ae8848fe104b3b767"
 }
 }
Run Code Online (Sandbox Code Playgroud)

生成一个只将一个特定内容集保存到.PSD1文件的函数似乎不够通用.我想将精确的内存中数组结构保存到PSD1文件中.Powershell中是否存在任何内置方式来保持具有上述值的内存变量?的"对立功能" Import-PowershellDataFile.我猜它会被调用,Export-PowershellDatafile但似乎不存在这样的功能.

gen*_*sys 1

你尝试过使用New-ModuleManifest吗?在不知道任何其他详细信息的情况下,您似乎正在创建与模块中使用的清单文件基本相似的内容...但即使您的用例不同,您仍然应该能够使用 cmdlet。

New-ModuleManifest已经存在了一段时间(至少从 v3 开始,但我似乎还记得将它与 v2 一起使用)。它允许您定义属性的哈希表并将其保存为.psd1.

https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/new-modulemanifest?view=powershell-5.1