我有一个带有相应模块清单的自定义 PowerShell 模块。在我的模块中的一个命令中,我有一个硬编码的哈希表数组。起初这很好,但有时我不得不返回并将新的哈希表添加到这个硬编码数组中,并且数组变得很长。以这种方式管理这些数据变得越来越困难。我真正想做的是将此集合移到外部资源(例如 CSV 文件)中,并让命令从 CSV 文件中读取数据。实际上,这是我从一开始就喜欢的,但直到现在它才变得足够痛苦,以至于我不得不弄清楚如何做到这一点。
我的问题是我该怎么做呢?或者甚至可以做到吗?我已经阅读了很多关于模块清单的内容,但我不记得阅读过任何描述在清单文件中指定其他资源的方法或如何以“私有”模块的方式加载这些资源的内容。我想我可以将 CSV 文件与所有其他 PowerShell 文件一起放入模块的文件夹中,然后也许我可以找到它,$PSScriptRoot
但这似乎不是很“官方”(而且我不是 100% 确定它会起作用)。另外,通过这样做,清单中的任何内容都不会向其他人建议模块正常运行所需的其他资源。
有没有这样的最佳实践,还是我完全错了?