0

Nous avons une liste de points de partage et quelques workflows de concepteur y sont associés. Nous avons apporté quelques modifications au flux de travail existant mais pas publié, car cela pourrait affecter les éléments de la liste en cours pour lesquels nous avons réaffecté l'autorisation et le statut de nombreux éléments de la liste. Dans ce cas, nous aimerions arrêter les flux de travail qui sont toujours en cours ou en cours pour des éléments de liste spécifiques dans la liste Sharepoint. Une fois le déploiement effectué (Une nouvelle version du workflow est publiée), nous devons redémarrer les workflows pour les éléments de la liste que nous avons arrêtés. Je crois que c'est possible grâce au script Powershell.Je veux arrêter/Mettre en pause les workflows du concepteur associés à la liste des points de partage et redémarrer une fois la nouvelle version mise à jour?

veuillez poster nos suggestions et solutions si vous avez une idée.

Merci, Peter

Répondre

0

#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   
 
[Microsoft.SharePoint.Workflow.SPWorkflowManager]::CancelWorkflow($wf);  
 
} 
 
} 
 
$web.Dispose();

Pour redémarrer tout flux de travail, vous pouvez simplement une chronique à un point de vue personnel que ce soit un oui/non choix. Sur le workflow existant, faites une instruction if pour que la colonne change puis changez de nouveau.