我已经按照网络上的不同帖子来解决这个问题,但我的代码仍然返回一个数组元素。我的代码如下:
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:如何从语法的角度提高我的代码效率?
感谢
答案 0 :(得分:4)
使用逗号运算符将数组包装在另一个数组中,例如:
return ,$sessionVMSummary