Présentation du workflow Windows PowerShell

 

S'applique à: Windows Server 2012, Windows Server 2012 R2

Les professionnels de l’informatique automatisent souvent la gestion de leurs environnements comportant plusieurs appareils en exécutant des séquences de tâches ou des workflows de longue durée qui peuvent affecter plusieurs ordinateurs ou périphériques gérés en même temps. Les workflows Windows PowerShell permettent aux professionnels de l’informatique et aux développeurs de tirer profit de Windows Workflow Foundation avec les fonctionnalités et la simplicité d’automatisation de Windows PowerShell. La fonctionnalité de workflow Windows PowerShell a été introduite dans Windows Server® 2012 et Windows 8, et fait partie de Windows PowerShell 3.0 et des versions plus récentes de Windows PowerShell. Grâce au workflow Windows PowerShell, il est possible d’automatiser la distribution, l’orchestration et l’accomplissement de tâches sur plusieurs appareils, ce qui permet aux utilisateurs et aux administrateurs de se concentrer sur des tâches de niveau supérieur.

Windows PowerShell, intégré pour la première fois dans la version de Windows Vista et de Windows Server 2008, est un moteur Automation distribuée, un interpréteur de ligne de commande et un langage de script basé sur Microsoft® .NET Framework. Il est conçu spécialement pour automatiser la gestion de Windows.

Le workflow Windows PowerShell est une fonctionnalité clé de Windows PowerShell 3.0 et Windows PowerShell 4.0. Pour plus d’informations sur Windows PowerShell, consultez Nouveautés de Windows PowerShell.

Cette rubrique contient les sections suivantes.

  • Vue d’ensemble du workflow Windows PowerShell

  • Différence entre le workflow et les scripts Windows PowerShell

  • Création et importation de workflows à l’aide du Concepteur de flux de travail de Visual Studio

Vue d’ensemble du workflow Windows PowerShell

Un workflow est une séquence d’étapes programmées et connectées qui effectuent des tâches de longue durée ou requièrent la coordination de plusieurs étapes sur plusieurs appareils ou nœuds gérés. Un flux de travail Windows PowerShell permet aux professionnels de l’informatique et aux développeurs de créer des séquences d’activités de gestion multi-appareils, ou des tâches unique au sein d’un flux de travail en tant que flux de travail. Par conception, des flux de travail peuvent être longs, reproductibles, fréquents, exécutables en parallèle, interruptibles, arrêtables et redémarrables. Ils peuvent être suspendus et repris, notamment suite à une interruption inattendue, par exemple en cas d’indisponibilité du réseau ou de redémarrage de l’ordinateur.

Les workflows Windows PowerShell peuvent être créés ou définis à l’aide de la syntaxe Windows PowerShell ou de fichiers XAML. Pour plus d’informations sur la création d’un workflow basé sur un script Windows PowerShell, consultez Écriture d'un workflow de script. Pour plus d’informations sur les workflows XAML, consultez Création et importation de workflows à l’aide du Concepteur de flux de travail de Visual Studio dans cette rubrique.

Grâce à la fonctionnalité RunAs de Windows PowerShell, les configurations de session personnalisées permettent aux workflows ou aux activités présentes dans un workflow d’être exécutés par des professionnels de l’informatique délégués ou subalternes.

Activités

Une activité est une tâche spécifique que vous souhaitez faire exécuter par un workflow. Tout comme un script se compose d’une ou plusieurs commandes, un workflow se compose d’une ou plusieurs activités effectuées en séquence. Un script peut également être utilisé comme une commande unique dans un autre script, et un workflow peut être utilisé comme une activité au sein d’un autre workflow.

Avantages du workflow Windows PowerShell

La liste suivante décrit un grand nombre des avantages du workflow Windows PowerShell.

  • Utilisation de la syntaxe de script Windows PowerShell

    Les professionnels de l’informatique peuvent utiliser leurs compétences en scripts Windows PowerShell pour créer des workflows basés sur des scripts à l’aide du langage Windows PowerShell extensible. Les workflows basés sur des scripts Windows PowerShell sont simples à écrire et peuvent être partagés facilement en les collant dans un message électronique ou en les publiant sur les pages web.

  • Gestion de plusieurs appareils

    Vous pouvez appliquer des tâches de workflow simultanément à des centaines de nœuds gérés. Le flux de travail Windows PowerShell ajoute des paramètres communs aux workflows automatiquement, tels que PSComputerName, permettant des scénarios de gestion de plusieurs appareils. Pour plus d’informations sur les paramètres réservés pour les workflows, consultez « Mots réservés dans les workflows » dans Rubriques de référence sur la création de flux de travail.

  • Exécution d’une tâche unique pour gérer des processus complexes de bout en bout

    Vous pouvez combiner des scripts ou commandes associés qui agissent sur un scénario entier dans un workflow unique. L’état et la progression des activités dans le workflow sont visibles à tout moment.

  • Récupération de défaillance automatisée

    Les workflows se poursuivent après les interruptions planifiées et non planifiées, y compris après le redémarrage de l’ordinateur. Vous pouvez suspendre l’exécution d’un workflow, puis redémarrer ou reprendre le workflow à partir du point auquel il a été suspendu. Vous pouvez créer des points de contrôle pour votre workflow, ce qui vous permet de reprendre le workflow à partir de la dernière tâche persistante (ou point de contrôle) au lieu de redémarrer le workflow depuis le début.

  • Tentatives de connexion et d’activité

    En utilisant les paramètres communs de workflow, les utilisateurs de workflow peuvent retenter de se connecter aux nœuds gérés en cas de panne de connexion réseau. Les auteurs de workflows peuvent également désigner des activités spécifiques à réexécuter si l’activité ne peut être réalisée sur un ou plusieurs nœuds gérés (par exemple, si un ordinateur cible était hors connexion pendant l’exécution de l’activité).

  • Se connecter et se déconnecter

    Les utilisateurs peuvent se connecter à l’ordinateur exécutant le workflow et s’en déconnecter, mais le workflow reste en cours d’exécution. Par exemple, si vous exécutez le workflow et que vous le gérez sur deux ordinateurs différents, vous pouvez fermer la session sur l’ordinateur ou redémarrer l’ordinateur à partir duquel vous gérez le workflow et surveiller les opérations du workflow à partir d’un autre ordinateur (par exemple un ordinateur personnel) sans interrompre le workflow.

  • Planification des tâches

    Les tâches de workflow peuvent être planifiées et démarrées lorsque des conditions spécifiques sont respectées, comme avec tout autre script ou toute autre applet de commande Windows PowerShell.

Différence entre le workflow et les scripts Windows PowerShell

Dans un script, la totalité du script s’exécute dans la même instance d’exécution, l’environnement d’exploitation qui définit les commandes, variables et autres éléments disponibles. Dans un workflow, chaque activité du workflow peut être exécutée dans une instance d’exécution distincte. Les variables qui sont créées au niveau supérieur du workflow entier sont disponibles pour l’ensemble du workflow ; si elles sont créées au niveau de la commande ou du script, elles sont disponibles pour la commande ou le script, mais pas pour l’ensemble du workflow.

En règle générale, envisagez d’utiliser un workflow plutôt qu’une applet de commande ou un script lorsque vous devez respecter l’une des conditions suivantes.

  • Vous devez effectuer une tâche de longue durée qui combine plusieurs étapes dans une séquence.

  • Vous devez effectuer une tâche qui s’exécute sur plusieurs appareils.

  • Vous devez effectuer une tâche qui requiert des points de contrôle ou la persistance.

  • Vous devez effectuer une tâche de longue durée asynchrone, parallèle, pouvant être redémarrée ou interrompue.

  • Vous devez exécuter une tâche à grande échelle ou dans des environnements à haute disponibilité, pouvant nécessiter la limitation et le regroupement de connexions.

Création et importation de workflows à l’aide du Concepteur de flux de travail de Visual Studio

Outre la création de workflows utilisant des scripts Windows PowerShell, vous pouvez créer des workflows en utilisant le Concepteur de flux de travail de Visual Studio. Les workflows que vous créez dans le Concepteur de flux de travail de Visual Studio ont une extension de nom de fichier XAML. Vous pouvez appeler et importer des workflows créés dans le Concepteur de flux de travail dans le workflow Windows PowerShell et exposer les applets de commande Windows PowerShell en tant qu’activités dans le Concepteur de flux de travail.

Pour plus d’informations sur la création de workflows à l’aide du Concepteur de flux de travail de Visual Studio, consultez Utilisation du Concepteur de flux de travail dans la documentation de Visual Studio sur MSDN.

Activités de workflow Windows PowerShell dans le Concepteur de flux de travail de Visual Studio

Windows PowerShell inclut des activités intégrées pour la plupart des applets de commande Windows PowerShell. Ces activités sont empaquetées dans des assemblys dont les noms correspondent au nom du module Windows PowerShell contenant les applets de commande. Voici la liste des assemblys d’activités Windows PowerShell installées dans le GAC (Global Assembly Cache).

  • Microsoft.PowerShell.Activities

  • Microsoft.PowerShell.Core.Activities

  • Microsoft.PowerShell.Diagnostics.Activities

  • Microsoft.PowerShell.Management.Activities

  • Microsoft.PowerShell.Security.Activities

  • Microsoft.PowerShell.Utility.Activities

  • Microsoft.WSMan.Management.Activities

Pour plus d’informations sur l’ajout d’une activité à la boîte à outils à partir d’un assembly, voir Procédure : ajouter des activités à la boîte à outils.

Voir aussi

Configuration de votre environnement de workflow
Exécution d’un workflow Windows PowerShell
Écriture d'un workflow de script
Nouveautés de Windows Workflow Foundation 4.0
about_Jobs
about_Workflow_Common_Parameters
about_Workflows