powershell返回1个单独的元素而不是数组

时间:2014-06-28 01:50:10

标签: arrays powershell powershell-v3.0

我已经按照网络上的不同帖子来解决这个问题,但我的代码仍然返回一个数组元素。我的代码如下:

Add-PSSnapin -Name VeeamPSSnapIn -WarningAction SilentlyContinue
    $sessionVMSummary = @()
    $bkJobs = get-vbrjob | foreach {
        $session = $_.findlastsession()
        if (($session -ne $NULL) -and ($_.isScheduleEnabled -eq $TRUE)) {
            # Get session details
            $sessionDocument = New-Object PSObject -Property @{
                "Name" = $session.JobName
                "Result" = $session.Result.toString()
                "ObjectStatus" = @()
            }
            [Veeam.Backup.Core.CBackupTaskSession]::GetByJobSession($session.id) | foreach {
                $Info = New-Object PSObject -Property @{
                    "Start Time" = $_.Progress.StartTime
                    "End Time" = $_.Progress.StopTime
                    "Duration" = $_.Progress.Duration
                }
                $sessionDocument.ObjectStatus += $Info
            }
            $sessionVMSummary += $sessionDocument
        }
    }

    return $sessionVMSummary

问题1:如何使$ sessionVMSummary返回一个包含1个元素的数组? 问题2:如何从语法的角度提高我的代码效率?

感谢

1 个答案:

答案 0 :(得分:4)

使用逗号运算符将数组包装在另一个数组中,例如:

return ,$sessionVMSummary