вот мой модифицированный скрипт:
$web = Get-SPWeb "http://site/subsite";
$web.allowUnsafeUpdates = 'true';
# stop list workflows
$web.Lists | foreach {
$list = $_;
$list.Items | foreach {
$item = $_;
$item.Workflows | foreach {
$wf = $_;
[Microsoft.SharePoint.Workflow.SPWorkflowManager]::CancelWorkflow($wf);
}
}
}
$web.allowUnsafeUpdates = 'false';
$web.Dispose();
и это ошибка, которую я получаю (я использую локализованную на немецком языке версию сервера и sharepoint):
Fehler bei der Enumeration einer Auflistung: Collection was modified; enumeration operation may not execute..
Bei C:\stopwf.ps1:7 Zeichen:3
+ <<<< $web.Lists | foreach {
+ CategoryInfo : InvalidOperation: (Microsoft.Share...on+SPEnumerator:SPEnumerator) [], RuntimeException
+ FullyQualifiedErrorId : BadEnumeration
Пользователь, запускающий скрипт, является администратором на собственной машине, администратором сайта и администратором sql-администрирования. я также создал дочерний сайт с этой учетной записью, так что я не думаю, что проблема будет в использовании ссылок.
Я нашел этот ответ ( Различия между PowerShell и C # при перечислении коллекции ), но я не понимаю, как использовать эту информацию для меня?!