Start a specific Workflow on all items in a List via Powershell

# URL of the Site
$web = Get-SPWeb -Identity “http://knowledgebase”

$manager = $web.Site.WorkFlowManager

# Name of the list
$list = $web.Lists[“knowledgebase”]

# Name of the Workflow
$assoc = $list.WorkflowAssociations.GetAssociationByName(“Update Author”,”en-GB”)

$data = $assoc.AssociationData
$items = $list.Items
foreach($item in $items)
{
$wf = $manager.StartWorkFlow($item,$assoc,$data,$true)
}

$manager.Dispose()
$web.Dispose()
#

Advertisements