How to cancel all workflows on a list

Blog Post created by fhunth Champion on Jan 6, 2017

Sometimes I needed to cancel all workflow on a specific list.
The following powershell script will help you to do this.

#Site URL
$web = Get-SPWeb "http://urlforsite.com";
$web.AllowUnsafeUpdates = $true;
#List Name
$list = $web.Lists["ListName"];
# Iterate through all Items in List and all Workflows on Items.        
foreach ($item in $list.Items)
foreach ($wf in $item.Workflows)
#Cancel Workflows