1

我正在为我们的 vSphere 在 powercli 中创建一个报告脚本。我正在尝试制作一个可以导出到 csv 的数组。我遇到的问题是我需要将多行输入到数组中,而不仅仅是一遍又一遍。

当我以当前格式运行时,所发生的只是最外层的行报告,而没有内部报告

这是我希望脚本执行的操作的模型。

$report = @()
foreach($D in $data){
$row = "" | select Datacenter, datacenterInfo
$row.datacenter = "kam1"
$row.datacenterInfo = "12"
$report += $row
foreach($F in $D){
    $row2 = "" | select folder, folderInfo
    $row2.folder = "test"
    $row2.folderInfo = "34"
    $report += $row2
    foreach($VM in $F){
        $row3 = "" | select VM, VMInfo
        $row3.VM = "test"
        $row3.VMInfo = "56"
                    $report += $row3
    }
}
}

$report | export-csv -path c:\temp\testy.csv -NoTypeInformation

任何帮助表示赞赏

数据有望在 excel 中以 csv 形式出现,同时看起来像这样

datacenter / datacenterinfo
test       / 12
folder     /  folderinfo
test       / 34
VM         / VMInfo
test       / 56

不过,真正的脚本会详细说明数百个虚拟机和文件夹。

4

1 回答 1

0

我知道这个问题并且没有真正的解决方案。但作为解决方法,您可以 "$row3.VM \ $row3.VMInfo" | Out-File -append -path "c:\temp\testy.csv" 在每个内部使用,并将数据手动写入 csv。

于 2013-10-17T10:18:50.823 回答