У меня есть следующие PowerShell скрипты, перебирает все элементы списка и рабочие процессы, пытаясь найти старые запущенные рабочие процессыЭкспорт в CSV-файл после цикла заканчивается PowerShell
Логика в порядке, но мне нужно, чтобы иметь возможность экспортировать к csv с столбцами ListeItemUrl, ListItemName, Nr дней открытых.
$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
Затем с экспортированным файлом я могу легко сортировать по дням и доставлять отчет, который мне нужен.
, который создаст один файл для каждого цикла, мне нужен один файл только –
Есть несколько способов, вы можете преодолеть это. Удостоверьтесь, что вы разместили командлет export-csv в нужном месте, перенесите свой вывод в переменную, а затем в конец вашего скрипта запустите эту переменную в 'export-csv' или запустите весь скрипт (предположив, что он называется _script.ps1_) как следует: '. \ script.ps1 | expor-csv C: \ somepath \ file.csv' – Raf