我有以下powershell脚本,遍历所有列表项和工作流,试图找到旧的运行工作流
逻辑正常,但我需要能够使用列导出到csv ListeItemUrl,ListItemName,Nr of Days Opened。
$web = get-spweb https://mysite.com/sites/billing
$list = $web.Lists["Bill Cycles"]
$count = 0
foreach($wf in $list.WorkflowAssociations)
{
if ($wf.Name -like "*Previous Version*")
{
Write-Host 'Bill Cycles with old workflow: ' $wf.Name
foreach($listitem in $list.Items)
{
if($listitem.ContentType.Name -eq "Bill Cycle")
{
$workflows = $listitem.Workflows
foreach($Workflow in $listitem.Workflows)
{
if($Workflow.AssociationId -eq $wf.Id)
{
$count = $count+1
Write-Host $listitem.Name
Write-Host 'https://mysite.com/sites/billing/'$listitem.Url.TrimStart();
Write-Host 'Workflow opened for: ' ((Get-Date) - $Workflow.Created).Days
}
}
}
}
}
}
Write-host 'Count: ' $count
然后使用导出的文件,我可以轻松排序nr天并提供我需要的报告。
答案 0 :(得分:1)
将输出格式化为csv - ListeItemUrl,ListItemName,NrofDaysOpened - 并将其传递给Export-Csv
cmdlet(您可以通过运行get-help Export-Csv
了解更多信息)。您必须将 Write-Host 更改为 Write-Output