我需要创建一个对象,每次迭代都要添加值。我所拥有的问题是我的代码逻辑。我想我必须创建另一个foreach
并将New-Object psobject -Property $object
放在外面...但我不知道该怎么做。
有人可以帮助我吗?
Import-Module BEMCLI #BackupExec
$object= @{}
#For each last 15 job backups
ForEach ($i in $(Get-BEJob "FULL" | Get-BEJobHistory -FromStartTime (Get-Date).AddDays("-15") -JobType Backup))
{
$object.TAPE= ($i | Get-BEJobLog | Get-BEJobLogFiles) # get Tape
$object.START_TIME=$i.StartTime #get starttime
$object.END_TIME=$i.EndTime #get endtime
New-Object psobject -Property $object
}
$object | ft
答案 0 :(得分:1)
创建另一个Array对象,并在每次迭代时将new RegExp('^.highlight.*')
数据添加到其中
$object
答案 1 :(得分:0)
您拥有的foreach
构造看起来像是设计用于向管道发送数据。您不仅没有尝试捕获它不会将项目发送到管道中的数据。要更改的最简单的事情是将foreach
循环分配给变量
Import-Module BEMCLI #BackupExec
#For each last 15 job backups
$objects = ForEach ($i in $(Get-BEJob "FULL" | Get-BEJobHistory -FromStartTime (Get-Date).AddDays("-15") -JobType Backup))
{
$object = @{} # Wipe object for next run.
$object.TAPE= ($i | Get-BEJobLog | Get-BEJobLogFiles) # get Tape
$object.START_TIME=$i.StartTime #get starttime
$object.END_TIME=$i.EndTime #get endtime
New-Object psobject -Property $object
}
$objects | ft