PowerShell
Flux de travail PowerShell
Recherche…
Introduction
PowerShell Workflow est une fonctionnalité qui a été introduite à partir de PowerShell version 3.0. Les définitions de flux de travail ressemblent beaucoup aux définitions de fonction PowerShell, mais elles s'exécutent dans l'environnement Windows Workflow Foundation, et non directement dans le moteur PowerShell.
Le moteur de workflow comprend plusieurs fonctionnalités uniques, telles que la persistance des tâches.
Remarques
La fonctionnalité de workflow PowerShell est exclusivement prise en charge sur la plate-forme Microsoft Windows, sous PowerShell Desktop Edition. PowerShell Core Edition, qui est pris en charge sous Linux, Mac et Windows, ne prend pas en charge la fonctionnalité PowerShell Workflow.
Lors de la création d'un workflow PowerShell, gardez à l'esprit que les workflows appellent des activités, pas des applets de commande. Vous pouvez toujours appeler des applets de commande à partir d'un workflow PowerShell, mais le moteur de workflow InlineScript
implicitement l'appel de la cmdlet dans une activité InlineScript
. Vous pouvez également explicitement envelopper le code à l'intérieur de l'activité InlineScript
, qui exécute le code PowerShell; Par défaut, l'activité InlineScript
s'exécute dans un processus distinct et renvoie le résultat au workflow appelant.
Exemple de workflow simple
workflow DoSomeWork {
Get-Process -Name notepad | Stop-Process
}
Ceci est un exemple de base d'une définition de workflow PowerShell.
Workflow avec des paramètres d'entrée
Tout comme les fonctions PowerShell, les flux de travail peuvent accepter des paramètres d'entrée. Les paramètres d'entrée peuvent éventuellement être liés à un type de données spécifique, tel qu'une chaîne, un entier, etc. Utilisez le mot-clé param
standard pour définir un bloc de paramètres d'entrée, directement après la déclaration de workflow.
workflow DoSomeWork {
param (
[string[]] $ComputerName
)
Get-Process -ComputerName $ComputerName
}
DoSomeWork -ComputerName server01, server02, server03
Exécuter le workflow en tant que job d'arrière-plan
Les workflows PowerShell sont intrinsèquement équipés de la possibilité de s'exécuter en tâche de fond. Pour appeler un workflow en tant que job d'arrière-plan PowerShell, utilisez le paramètre -AsJob
lors de l'appel du workflow.
workflow DoSomeWork {
Get-Process -ComputerName server01
Get-Process -ComputerName server02
Get-Process -ComputerName server03
}
DoSomeWork -AsJob
Ajouter un bloc parallèle à un workflow
workflow DoSomeWork {
parallel {
Get-Process -ComputerName server01
Get-Process -ComputerName server02
Get-Process -ComputerName server03
}
}
L'une des fonctionnalités uniques de PowerShell Workflow est la possibilité de définir un bloc d'activités en parallèle. Pour utiliser cette fonctionnalité, utilisez le mot-clé parallel
dans votre workflow.
L'appel des activités de workflow en parallèle peut aider à améliorer les performances de votre flux de travail.