循环结束后使用PowerShell导出到csv

时间:2014-02-05 09:30:42

标签: sharepoint powershell

我有以下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天并提供我需要的报告。

1 个答案:

答案 0 :(得分:1)

将输出格式化为csv - ListeItemUrl,ListItemName,NrofDaysOpened - 并将其传递给Export-Csv cmdlet(您可以通过运行get-help Export-Csv了解更多信息)。您必须将 Write-Host 更改为 Write-Output