Arrays powershell返回1个单个元素而不是数组
为了解决这个问题,我在web上发布了不同的帖子,但我的代码仍然返回一个元素而不是数组。我的代码如下:Arrays powershell返回1个单个元素而不是数组,arrays,powershell,powershell-3.0,Arrays,Powershell,Powershell 3.0,为了解决这个问题,我在web上发布了不同的帖子,但我的代码仍然返回一个元素而不是数组。我的代码如下: Add-PSSnapin -Name VeeamPSSnapIn -WarningAction SilentlyContinue $sessionVMSummary = @() $bkJobs = get-vbrjob | foreach { $session = $_.findlastsession() if (($session -ne $NU
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:如何从语法的角度提高代码的效率
谢谢使用逗号运算符将您的数组包装到另一个数组中,例如:
return ,$sessionVMSummary
使用逗号运算符将数组包装到另一个数组中,例如:
return ,$sessionVMSummary
谢谢你,基思希尔。这将返回一个ArrayList,我需要[Object]。问题是ArrayList的ConvertToJSON只会返回一个对象而不是数组。。。奇怪的是,只需在ArrayList上调用
ToArray()
,例如return,($sessionVMSummary.ToArray())
谢谢@KeithHill。这将返回一个ArrayList,我需要[Object]。问题是ArrayList的ConvertToJSON只会返回一个对象而不是数组。。。奇怪的是,只需在ArrayList上调用ToArray()
,例如return,($sessionVMSummary.ToArray())