解决foreach逻辑问题

时间:2017-01-12 17:03:15

标签: powershell veeam

我正在尝试获取所有Veeam备份作业中的所有虚拟机列表。我写了这个

#Add Veeam snapin
Add-PSSnapin VeeamPSSnapin

#variables
$Masterlist = @()
$jobs = Get-VBRJob

foreach($job in $jobs) {

    $backupJobObjects = Get-VBRJobObject -Job $job 

    foreach($backupJobObject in $backupJobObjects) {
        $MyObject = New-Object PSObject -Property @{ Name = $backupJobObject.Name }
    }
    $Masterlist += $MyObject
} 

$Masterlist | sort-object -Property Name

但它只从一个作业中吐出数据(有5个)。我认为这是因为foreach循环中的一些逻辑错误,但我没有看到它。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

根据4c74356b41的评论

foreach($backupJobObject in $backupJobObjects) {
        $MyObject = New-Object PSObject -Property @{ Name = $backupJobObject.Name }
        $Masterlist += $MyObject    
}

最后一个foreach循环应该是什么样的