Windows PowerShell : Qu'est-ce que le workflow Windows PowerShell ?

L'utilisation d'un workflow Windows PowerShell peut être un processus complexe, mais il s'avère finalement utile en termes de fonctionnalités proposées.

Remarque : Tous les mois au cours de 2013, Don Jones présentera un épisode dans une série de didacticiels de 12 parties sur flux de travail Windows PowerShell. Nous vous encourageons à lire la série dans l'ordre, en commençant par la colonne janvier 2013 et procédant par mois.

Don Jones

Le flux de travail Windows PowerShell est une nouvelle fonctionnalité de Windows Management Framework version 3.0. Dans un sens large, un workflow est un type spécialisé de script Windows PowerShell. Elle énonce un ensemble de tâches, dont certaines ont besoin de se produire dans un ordre particulier, tandis que d'autres peuvent s'exécuter en parallèle.

Flux de travail Windows PowerShell est livré pré-installé sur Windows Server 2012 et Windows 8. Il est également disponible pour Windows 7, Windows Server 2008 et Windows Server 2008 R2. Vous aurez besoin de l'un de ces systèmes d'exploitation pour exécuter un flux de travail. Cependant, un flux de travail peut cibler — c'est-à-dire, effectuer des tâches contre — n'importe quelle version de Windows, selon la tâche exacte que vous essayez d'accomplir.

Il est écrit à l'aide de la syntaxe Windows PowerShell standard plus ou moins. Il y a, cependant, plusieurs incompatibilités entre des workflows et des scripts Windows PowerShell. Flux de travail Windows PowerShell fait un usage intensif de la fonctionnalité de communication à distance Windows PowerShell. (Saisir mon libre "Secrets de PowerShell Remoting" guide si vous avez besoin d'un Conseil de primer ou configuration distante.)

Comment fonctionne les flux de travail

Regarder sous le capot (dont nous ferons plus en profondeur plus tard tout au long de cette série), vous trouverez un flux de travail Windows PowerShell n'est pas réellement exécutée par Windows PowerShell. Au lieu de cela, Windows PowerShell convertit votre script en XAML et transmet il au Windows Workflow Foundation (WWF), qui est une partie du Microsoft .NET Framework. WWF accepte le code XAML et procède à l'exécution.

Le fait que la WWF exécute un flux de travail et pas de Windows PowerShell, présente quelques fonctionnalités intéressantes et quelques complexités. Par exemple, WWF vise au point de contrôle de la progression d'un flux de travail. De cette façon, si l'ordinateur qui exécute le flux de travail est interrompu en quelque sorte, comme la fermeture, le flux de travail peut ramasser où elle s'était arrêtée lorsque la machine démarre à nouveau.

Vous pouvez également avoir des flux de travail manuellement suspendue et reprise. Par exemple, vous disposez un workflow terminer un certain ensemble de tâches, jusqu'à un certain point lors de l'intervention manuelle est requise. Il est souhaitable de suspendre l'opération et envoyer automatiquement un message électronique contenant une mise à jour. Après avoir terminé les tâches manuelles, vous pouvez reprendre le flux de travail et laisser poursuivre son exécution.

Flux de travail pouvez également exécuter des choses en parallèle, si vous le souhaitez. Par exemple, si vous avez un ensemble de tâches qui peuvent s'exécuter dans n'importe quel ordre, avec aucune interdépendance, alors vous pouvez avoir tous les exécuter simultanément plus ou moins. Qui réduit la quantité de temps total que nécessaire pour terminer le flux de travail, ce qui améliore l'efficacité. WWF assure également le suivi de chaque étape du flux de travail. Cela signifie que vous pouvez générer un journal d'audit détaillé sur ce que tâches exécutées, qui est une grande aide au dépannage.

Flux de travail ne peut pas faire tout ce qu'un script Windows PowerShell peut faire. Comme vous l'apprendrez tout au long de cette série, tout ce que vous ne pouvez pas traduire en quelque chose que WWF comprend est hors limites. Il y a certainement quelques aspects de Windows PowerShell qui ne transfèrent pas. Si un workflow est un sous-ensemble de Windows PowerShell ni un sur-ensemble. C'est une croix-set, ce qui signifie des flux de travail ajoute des fonctionnalités à Windows PowerShell, mais peut également certains emporter. C'est un des aspects plus complexes de flux de travail.

Pas la seule réponse

Un flux de travail n'est pas la réponse ultime à chaque tâche. L'excitation autour des flux de travail découle de l'équipe produit de Microsoft et de nombreux amateurs indépendants qui peuvent donner l'impression que vous devriez faire tout comme un flux de travail. Résister à cette tentation, parce que le flux de travail ont une courbe nettement superieur. Ils sont aussi plus difficiles à dépanner et à déboguer et ne sont pas toujours nécessaires.

Par exemple, si vous devez simplement avoir une tâche exécutée sur un ensemble d'ordinateurs en parallèle, plain-old remoting peut atteindre que pour vous. Vous pouvez également utiliser une tâche en arrière-plan de type 2 version Windows PowerShell (qui existe encore dans la version 3).

Si vous avez juste besoin d'exécuter une séquence de tâches qui redémarre l'ordinateur cible et attendez qu'il reprendre avant de continuer le script, vous pouvez le faire avec la nouvelle commande de Restart-Computer version 3 (qui comprend un - interrupteur d'attente). Donc même si vous pouvez voir le flux de travail est en effet puissant et ont des capacités uniques, ils ne sont pas nécessairement la meilleure façon de réaliser toutes les tâches possibles.

L'anatomie d'un flux de travail

Un flux de travail, comme une fonction ou l'applet de commande, est un type de commande de Windows PowerShell. Une fois que vous avez créé un, vous fondamentalement juste exécuter comme n'importe quelle autre commande. Vous pourriez également planifier ou pousser vers un ordinateur distant à courir là-bas. Au moment de l'exécution, Windows PowerShell convertit au WWF et demande à WWF d'exécuter le flux de travail.

Comme d'autres types de commandes, vous pouvez attribuer des paramètres de flux de travail qui vous permettent de personnaliser leur comportement lors de l'exécution. Il y a une variété de paramètres communs disponibles pour activer automatiquement des comportements spécifiques.

Vous définissez un ensemble d'activités au sein d'un workflow. Vous pouvez configurer ces activités à exécuter dans un ordre spécifique ou en parallèle avec l'autre. Vous pouvez mélanger et assortir les séquences et les blocs parallélisées autant que nécessaire. L'astuce est que chaque activité doit être quelque chose qui que comprend de la WWF. C'est vraiment là où commence la complexité.

L'équipe Windows PowerShell fournies WWF « versions » de la plupart des cmdlets de noyau Windows PowerShell principales. Cela signifie que vous pouvez utiliser ces applets de commande droite au sein d'un workflow. Lorsqu'ils sont traduits à la WWF, ces applets de commande sont remplacés par leurs équivalents de la WWF, donc il va fonctionner comme prévu.

Dans un monde idéal, chaque applet de commande Windows PowerShell viendrait avec un équivalent de la WWF. Cela rendrait les workflows ressemblent beaucoup à des scripts Windows PowerShell familiers nous avons écrit pour les années. Cependant, nous ne vivons pas dans un monde parfait. En réalité, la plupart des cmdlets ne viennent pas avec des équivalents de la WWF. Cela est particulièrement vrai avec les applets de commande fournis avec Exchange Server, SharePoint et Windows Server 2012 (à l'exception des applets de commande Windows PowerShell de base).

WWF ne peut pas exécuter en mode natif de ces applets de commande. Il faut les envelopper dans quelque chose de que WWF comprend : un InlineScript. Cette activité spéciale raconte essentiellement WWF pour exécuter Windows PowerShell. Il nourrit du contenu de l'activité InlineScript au shell.

Chaque InlineScript est indépendante, autonome et entité déconnectée. InlineScripts ne peut pas partager des informations entre eux sauf de conserver les données d'un endroit (comme dans une base de données), ils peuvent tous les accès.

Ceux-ci font écrire des flux de travail beaucoup plus complexe. Cependant, ils vont être votre principale unité d'exécution pour l'instant, parce que la plupart des cmdlets Windows PowerShell n'ont pas encore les versions WWF.

Voici ce qui se prépare

Flux de travail est certainement passionnante. Lorsqu'il est utilisé pour le bon travail, ils fournissent des fonctionnalités incroyables. Ils sont en effet complexes. Vous aurez à investir quelque temps d'apprendre comment les utiliser. En 2013 vise à présenter un morceau majeur d'information chaque mois :

  • **Février 2013 :**Couvrir l'environnement de flux de travail, y compris les conditions préalables et la configuration d'accès distant.
  • **Mars 2013 :**Vous donner un exemple de workflow de base, ainsi que nous avons quelque chose à parler et à s'inspirer à l'avenir.
  • **Avril 2013 :**Comparer et contraster les scripts et les flux de travail, avec une liste exhaustive de ce qui sera et ne — travail dans chacune.
  • **2013 mai :**Fouillez dans les activités de flux de travail, y compris la plus haute importance activité InlineScript.
  • **Juin 2013 :**Examiner les paramètres courants et les variables d'exécution du flux de travail et comment les utiliser dans vos propres flux de travail.
  • **Juillet 2013 :**Apprenez comment ajouter vos propres paramètres pour un flux de travail.
  • **Août 2013 :**Construction fois séquencée et parallélisée des activités au sein d'un workflow, et je vais vous montrer comment mélanger et assortir.
  • **Septembre 2013 :**Regardez la progression de flux de travail de contrôle et comment manuellement et par programme suspendre et reprendre le flux de travail.
  • **Octobre 2013 :**Prenez tout ce que vous avez appris jusqu'à présent et créez un exemple de flux de travail nouveau, à grande échelle.
  • **Novembre 2013 :**Mettre une idée dans la conversation en montrant certaines des solutions de rechange aux flux de travail pour des tâches spécifiques telles que la parallélisation des tâches.
  • **Décembre 2013 :**Regardez les autres façons que vous pouvez utiliser et interagir avec l'ensemble des fonctionnalités de flux de travail.

Je suis impatient de cette tournée toute l'année des flux de travail Windows PowerShell. J'espère que vous me rejoindrez chaque étape du processus.

Don Jones

Don Jones est un destinataire de la récompense de MVP Windows PowerShell et un collaborateur à la rédaction de TechNet Magazine. Il est également coauteur de quatre livres sur Windows PowerShell version 3, y compris celles qui sont libres sur la création de rapports HTML dans Windows PowerShell et de la communication à distance de Windows PowerShell. Retrouvez-les tous au PowerShellBooks.com, ou vous pouvez demander Jones questions dans les forums de discussion à PowerShell.org.

Contenu associé