我正在尝试将以下日期范围的代码用作Where-Object过滤器,但这减慢了我的输出速度,并且无法导出到csv。
runBlocking {}
如何将Where-Object更改为类似于-closedate $ variable的参数,就像我对-PID所做的那样?对我来说,最大的困难是创建一个日期时间变量。
答案 0 :(得分:-1)
首先,您应该将$filterDate
移出循环,其次,绝对不要在循环中使用Format-Table,绝对不要在循环中使用。
尝试一下:
$filterDate = [datetime]::Today.AddDays(-22)
$Prids = get-content -Path C:\Temp\sqltest.txt
$Result = foreach ($prid in $prids){
Get-CdPac2000Problems -PId $Prid | Where-Object {(Get-Date $_.ClosedDate.Date) -ge $filterDate}
}
$Result | Format-Table PID,ClosedDate,ClosedByELID,ResponsibleGroup,ReferredDate -autosize
PowerShell中最美丽的功能之一是,您可以直接干扰所有对象。将对象传递给变量或管道中的下一个命令时,将保留所有方法和属性。格式表将对象转换为表,这是人类可读的东西,是脱离方法和生活的东西。