我目前正在编写一份报告,这将是以后injested到excel表,使用csv文件的内容,将在脚本的末尾生成。我准备了一个变量文件,它看起来有点像这样:
app1name: "subid1","subid2"
app2name: "subid3","subid4"
我想使用foreach循环遍历这个列表,这将生成这样的输出:
app1name;subid1;$var1;$var2
app1name;subid2;$var1;$var2
app2name;subid3;$var1;$var2
app2name;subid4;$var1;$var2
以便稍后将其导出到CSV。我的目标是针对每个azure订阅运行资源图资源管理器kql,通过使用订阅名称(在文件中定义为subid)引用它们,将结果放入$var1和$var2中,生成上述输出。我准备了不同版本的json和yaml格式的变量列表,并将其转换为哈希表,pscustomobjects和数组,但无法使其工作。这真的可能吗?我正在考虑准备csv格式的变量文件,如下所示:
appname;subid
app1name;subid1
app1name;subid2
app2name;subid3
app2name;subid4
然而,它会非常方便,有一个可变的文件格式,我在开始的问题,因为它的更多的用户友好的格式。
2条答案
按热度按时间ou6hu8tu1#
如果您需要使用您列出的格式(下面)...
你可以在你的文本文件上使用Get-Content,迭代每一行,用replace来获取你的应用程序名称和id,构建自定义对象并导出到csv。
输出:
8nuwlpux2#
我建议您将输入以文本PowerShell哈希表的形式输入,然后您可以使用
Import-PowerShellDataFile
导入它。给定
test.ps1
(.ps1
扩展名不是强制性的,它可以只是.txt
或其他):然后你可以导入它并返回一个哈希表。唯一的缺点可能是哈希表是无序的,所以你需要
Sort-Object
它,以防你需要它。