Partager via


Contrôler les activités du runbook

Vous définissez la séquence d’opérations dans les runbooks en liant des activités dans Runbook Designer. Ces liens sont appelés liens intelligents, car vous pouvez les configurer pour contrôler le type de données transmises d’une activité à une autre. Vous pouvez également contrôler quand le runbook termine les activités en définissant la logique pour laquelle ces opérations s’exécutent avec des boucles incorporées. Enfin, vous pouvez utiliser du texte et des opérations numériques pour manipuler des données à mesure qu’elles passent entre les activités ou pour définir des conditions pour l’ordre des opérations. Cet article explique comment contrôler le séquencement et manipuler les données dans votre runbook.

Les activités de votre runbook se terminent selon l’ordre que vous définissez en les liant ensemble. Vous pouvez contrôler les données qui circulent entre les activités à l’aide des onglets Inclure et Exclure des propriétés du lien. Par exemple, vous ne pouvez inclure que des données à transmettre à l’activité suivante qui répond à un critère particulier.

Important

Les règles dans l'onglet Exclure de la liaison intelligente remplacent les règles dans l'onglet Inclure de la liaison intelligente.

Important

Les règles dans les deux onglets sont associées à l'aide de la condition ou . Une seule des conditions définies dans un onglet doit être vraie pour que la condition soit vraie.

Le type de données publiées par une activité détermine le type de critères que vous pouvez définir pour contrôler la séquence de runbooks. Certaines activités publient des données binaires, et d’autres publient des données numériques ou textuelles.

Si les données publiées sont des données textuelles, vous pouvez utiliser l’un des éléments suivants pour définir les critères d’exécution, d’inclusion ou d’exclusion.

Condition Description
contains Le texte spécifié apparaît quelque part dans la valeur de l'élément de données publiées.
ne contient pas Le texte spécifié n'apparaît nulle part dans la valeur de l'élément de données publiées.
commence par La valeur de l'élément de données publiées commence par le texte spécifié.
se termine par La valeur de l'élément de données publiées finit par le texte spécifié.
correspond au modèle La valeur de l'élément de données publiées correspond à l'expression régulière spécifique.
ne correspond pas au modèle La valeur de l'élément de données publiées correspond à l'expression régulière spécifique.
equals La valeur de l'élément de données publiées correspond exactement au texte spécifié.
n'est pas égal La valeur de l'élément de données publiées ne correspond pas au texte spécifié.

Remarque

Les valeurs de texte ne respectent pas la casse.

Vous pouvez également définir des critères à l’aide d’expressions régulières pour effectuer des correspondances de modèles.

Si les données publiées sont numériques, vous pouvez utiliser l’un des éléments suivants pour définir les critères d’exécution, d’inclusion ou d’exclusion.

Condition Description
equals La valeur de l'élément de données publiées est exactement égale à la valeur spécifiée.
n'est pas égal La valeur de l'élément de données publiées n'est pas égale à la valeur spécifiée.
est inférieur à La valeur de l'élément de données publiées est inférieure à la valeur spécifiée.
est supérieur à La valeur de l'élément de données publiées est supérieure à la valeur spécifiée.
est inférieur ou égal à La valeur de l'élément de données publiée est inférieure ou égale à la valeur spécifiée.
est supérieur ou égal à La valeur de l'élément de données publiée est supérieure ou égale à la valeur spécifiée.
est compris entre La valeur de l'élément de données publiées est comprise entre deux valeurs spécifiées.

Sélectionnez l’onglet requis pour ajouter ou supprimer une condition de lien intelligent :

Répéter des activités avec des boucles incorporées

En utilisant des boucles, vous pouvez générer des nouvelles tentatives automatiques et surveiller à n’importe quel emplacement dans un runbook.

Vous pouvez créer une boucle pour n’importe quelle activité afin de pouvoir réessayer les opérations en cas d’échec ou de test des informations de sortie de l’activité pour les données valides. Vous pouvez également utiliser ces mécanismes pour générer des conditions d’attente dans vos flux de travail.

Lorsque vous configurez une boucle pour une activité, elle continuera à s’exécuter avec les mêmes données d’entrée jusqu’à ce qu’un critère de bouclage de sortie souhaité soit atteint. Vous générez les critères de sortie de la boucle de la même manière que les configurations de liaison intelligente. Vous pouvez utiliser n’importe quel élément de données publié de l’activité dans le cadre de la sortie ou ne pas quitter la configuration. Les données publiées courantes sont des éléments de données spéciaux, tels que Loop : Number of attempts and Loop : Total duration, qui vous permettent d’utiliser des informations de la boucle elle-même dans les conditions de bouclage.

Les boucles s’exécutent une fois pour chaque élément de données entrant qui est passé à l’activité. Par exemple, considérez un runbook qui utilise une activité de base de données de requête suivie d’une ligne d’ajout. Si l’activité de base de données de requête a retourné trois lignes, l’activité De ligne d’ajout s’exécuterait trois fois. Si vous avez une boucle sur l’activité Append Line , elle exécuterait trois boucles distinctes. Une fois que le premier élément de données a effectué une boucle dans l’activité Append Line , l’élément suivant passe par Append Line et boucle jusqu’à ce qu’il se termine, puis le troisième commence. Une fois les trois éléments traités, l’activité suivante dans les runbooks s’exécute.

Configurer le bouclage

  1. Cliquez avec le bouton droit sur une activité dans le runbook pour sélectionner Looping. La boîte de dialogue Propriétés de bouclage s’ouvre.

  2. Sous l’onglet Général , sélectionnez Activer.

  3. Dans la zone Délai entre les tentatives, entrez le nombre de secondes à suspendre entre chaque tentative d’exécution de l’activité.

Quitter et ne pas quitter les conditions

Les règles de l’onglet Sortie spécifient les conditions qui déterminent si la boucle se termine. Les règles de l’onglet Ne pas quitter spécifient les conditions qui entraînent la poursuite de la boucle.

Important

Les règles de l’onglet Ne pas quitter remplacent les règles de l’onglet Sortie .

Les règles de chaque onglet sont jointes à l’aide d’une condition Or . Une seule des conditions d’un onglet doit être vraie pour que l’onglet entier soit vrai.

Sélectionnez l’onglet requis pour la procédure d’ajout ou de suppression d’une condition de sortie :

Procédez comme suit pour ajouter une condition de sortie :

  1. Dans la boîte de dialogue Propriétés de bouclage, sélectionnez l’onglet Sortie ou l’onglet Ne pas quitter , puis sélectionnez la condition répertoriée dans la zone, sélectionnez Ajouter pour ajouter une condition.

    Important

    Pour modifier les valeurs qui composent la règle, vous devez sélectionner chaque partie soulignée de la condition de lien.

  2. Sélectionnez l’activité répertoriée dans la condition pour ouvrir la boîte de dialogue Données publiées.

  3. Cochez la case Afficher les données retournées courantes pour afficher les propriétés communes à toutes les activités.

  4. Sélectionnez une propriété dans les données publiées, puis sélectionnez OK. L'expression de critères est modifiée en fonction du type de données renvoyé par la propriété.

  5. Pour modifier les différentes parties de l’expression, sélectionnez le texte souligné et sélectionnez ou entrez une valeur appropriée.

  6. Sélectionnez Terminer.

Définir une planification pour un runbook

Vous pouvez définir une planification pour contrôler quand un runbook s’exécute. Par exemple, il arrive parfois qu’il soit inapproprié d’exécuter certains runbooks, tels que la sauvegarde d’un runbook sur un serveur principal pendant les heures d’ouverture normales. Vous pouvez créer une planification qui sera exécutée selon un intervalle complexe, par exemple les premiers et troisièmes lundis et jeudis de chaque mois, sauf lorsque ces jours sont fériés.

Les planifications utilisent l'horloge système du serveur Runbook qui exécute le Runbook. Cela permet aux planifications de fonctionner dans des environnements d'ordinateur virtuel et de continuer à être exécutées, même lorsque l'horloge système est réglée en raison du déplacement vers ou depuis l'heure d'été.

Runbooks qui commencent avant une exécution d’heure interdite jusqu’à ce qu’ils soient terminés, même s’ils sont toujours en cours de traitement lorsque l’heure interdite arrive. Ils ne seront pas interrompus une fois le traitement démarré.

Important

Les autorisations d’accès pour les planifications peuvent être modifiées, mais le serveur runbook n’applique pas ces autorisations.

Remarque

Si vous planifiez un runbook à démarrer pendant une heure ignorée lorsque l’horloge système est ajustée d’une heure, cette heure de début est ignorée et le runbook démarre à l’heure planifiée suivante. Si vous planifiez un runbook à démarrer pendant une heure qui se produit deux fois, car l’horloge système est ajustée en arrière d’une heure, le runbook démarre deux fois.

Remarque

Orchestrator ne prend pas en charge le déplacement de plusieurs planifications avec plusieurs sélections. Pour déplacer plusieurs planifications vers un autre dossier, vous devez les déplacer chacune individuellement.

Sélectionnez l’onglet requis pour créer une planification, affecter une planification à un runbook ou supprimer une planification d’un runbook :

Procédez comme suit pour créer une planification :

  1. Dans le volet Connexions , cliquez avec le bouton droit sur le dossier Planifications ou un sous-dossier du dossier Planifications , pointez sur Nouveau, puis sélectionnez Planification pour ouvrir la boîte de dialogue Nouvelle planification .

  2. Sous l’onglet Général , dans la zone Nom , entrez un nom pour la planification.

  3. Dans la zone Description , entrez une description qui décrit ou explique l’objectif de la planification.

  4. Sélectionnez l’onglet Détails . Sélectionnez les jours pendant lesquels cette planification permet aux runbooks d’exécuter :

    Jours de la semaine: Sélectionnez cette option et sélectionnez les jours de la semaine où cette planification autorise l'exécution des Runbooks.

    Occurrence: Sélectionnez les semaines du mois où la planification autorise l'exécution des Runbooks.

    Jours du mois: Sélectionnez cette option et sélectionnez les jours du mois où cette planification autorise l'exécution des Runbooks. Spécifiez les jours du mois en entrant le numéro du jour. Vous pouvez utiliser des traits d'union pour décrire des plages et des virgules pour séparer les entrées. Par exemple, taper 1,3 inclut le premier et le troisième jour du mois. La saisie de 1 à 21 comprend le premier jusqu’au vingt-premier jour du mois. Vous pouvez combiner les deux pour créer des descriptions complexes des jours du mois. Entrez tout pour spécifier tous les jours du mois. Entrez en dernier pour spécifier le dernier jour du mois.

    Vous ne pouvez pas utiliser tout et durer dans le cadre d’une plage de jours. En outre, si vous avez entré une plage de 5 à 31, cette plage fonctionne correctement pour tous les mois, y compris ceux avec 28, 29, 30 et 31 jours.

  5. Sélectionnez Heures pour ouvrir la boîte de dialogue Heures de planification.

  6. Sélectionnez et faites glisser pour sélectionner un groupe d’heures dans une semaine. Le texte situé en bas de la boîte de dialogue affiche la période que vous avez sélectionnée. Ensuite sélectionnez l’une des options suivantes :

    Autoriser (bleu) : affecte la période que vous avez sélectionnée comme temps pendant lequel l'exécution des Runbooks est autorisée.

    Refusé (blanc) : affecte la période que vous avez sélectionnée comme temps pendant lequel l'exécution des Runbooks n'est pas autorisée.

  7. Cliquez sur OK.

  8. Sélectionnez l’onglet Exceptions . La liste affiche tous les jours qui sont des exceptions aux règles définies dans l’onglet Détails .

  9. Sélectionnez Ajouter pour ouvrir la boîte de dialogue Date .

  10. Spécifiez la date et sélectionnez Autoriser ou Interdire d’autoriser ou non l’exécution du runbook ce jour-là, puis sélectionnez OK. L'entrée apparaît dans la liste.

  11. Pour modifier une entrée d’exception, sélectionnez-la, puis sélectionnez Modifier. Pour supprimer l’entrée Exception, sélectionnez-la, puis sélectionnez Supprimer.

  12. Pour modifier une planification, double-cliquez sur la Planification.

  13. Pour supprimer une planification, cliquez avec le bouton droit sur la Planification, puis sélectionnez Supprimer.

  14. Sélectionnez Terminer.

Manipuler des données avec des fonctions

Vous devrez peut-être manipuler des données de chaîne à partir de fichiers texte, de données retournées ou d’autres sources, et les convertir en un formulaire utilisable pour vos activités de runbook. En outre, vous pouvez effectuer des opérations arithmétiques simples, telles que le calcul des sommes et des différences et l’exécution d’opérations de division et de multiplication. Par exemple, vous pouvez extraire du texte d'un fichier texte à l'aide d'une activité de gestion de fichier texte , supprimer les espaces de début et de fin de texte, et récupérer des parties de texte spécifiques que vous pouvez transmettre à d'autres activités en tant qu'éléments de données publiées.

Vous manipulez des données dans le runbook en insérant une fonction. Les fonctions de manipulation de données doivent être entourées de crochets ('[' and ']'). Par exemple :

[Upper('this will be inserted in upper case')]

Lorsque l'activité s'exécute, le texte 'this will be inserted in uppercase' (ce texte sera inséré en majuscules) dans l'exemple, est remplacé par 'THIS WILL BE INSERTED IN UPPERCASE' (CE TEXTE SERA SERA INSÉRÉ EN MAJUSCULES).

Les fonctions sont sensibles à la casse. Par exemple, Upper('Text') sera traité, mais upper('Text') ne le sera pas.

Le tableau ci-dessous répertorie les fonctions prises en charge pour les runbooks.

Fonction et définition Utilisation Paramètres Exemple
Upper - convertit le texte en majuscules. Upper('Text') Text - le texte converti en majuscules. Upper('this will be converted to uppercase') renvoie 'THIS WILL BE CONVERTED TO UPPERCASE'
Lower - convertit le texte en minuscules. Lower('Text') Text - le texte converti en minuscules. Lower('This Will Be Converted To Lowercase') renvoie 'this will be converted to lowercase'
Field - renvoie le texte dans une position spécifique. Field('Text', 'Delimiter', Field Number) Text - le texte dans lequel la recherche est effectuée.

Delimiter - le caractère séparant chaque champ.

Field Number - la position du champ renvoyé (commence à 1).
Field('John;Smith;9055552211', ';', 2) renvoie 'Smith'.
Sum - renvoie la somme d'un ensemble de nombres. Sum(firstNumber, secondNumber, thirdNumber, ...) Number - le nombre ajouté. Vous pouvez placer n'importe quel jeu de nombres, séparés par une virgule (,). Sum(2,3,4,5) renvoie '14'
Diff - renvoie la différence de deux nombres. Diff(Number1, Number2, <Precision>) Number1 - le nombre duquel soustraire.

Number2 - le nombre à soustraire de Number1.

Précision <facultative> : nombre de décimales auxquelles le résultat sera arrondi.
Diff(9, 7) renvoie '2'

Diff(9.3, 2.1, 2) renvoie '7.20'
Mult - renvoie le produit d'un ensemble de nombres. Mult(firstNumber, secondNumber, thirdNumber, ...) Number - le nombre multiplié. Vous pouvez placer n'importe quel jeu de nombres, séparés par une virgule (,). Mult(2, 3, 4) renvoie '24'
Div - renvoie le quotient de deux nombres. Div(Number1, Number2, <Precision>) Number1 - le nombre à diviser.

Number2 - le nombre de division de Number1.

Précision <facultative> : nombre de décimales auxquelles le résultat sera arrondi.
Div(8, 4) renvoie '2'

Div(9, 2, 2) renvoie '4.50'
Instr - renvoie la position de la première occurrence de texte dans un autre texte. Instr ('SearchText', 'TextToFind') SearchText - le texte dans lequel la recherche est effectuée.

TextToFind - le texte recherché.
Instr('This is a string that is searched', 'string') renvoie 11
Right - renvoie un sous-ensemble du texte du côté droit du texte entier. Right('Text', Length) Text - le texte entier.

Length - le nombre de caractères du côté droit qui sera renvoyé.
Right('Take from the right', 9) renvoie 'the right'
Left - renvoie un sous-ensemble du texte du côté gauche du texte entier. Left('Text', Length) Text - le texte entier.

Length - le nombre de caractères du côté gauche qui sera renvoyé.
Left('Take from the left', 4) renvoie 'Take'
Mid - renvoie un sous-ensemble du texte du milieu du texte entier. Mid('Text', Start, Length) Text - le texte entier.

Start - la position de début dans le texte du début de renvoi de caractères.

Length - le nombre de caractères commençant à la position de début qui sera renvoyé.
Mid('Take from the middle', 5, 4) renvoie 'from'
LTrim - supprime les espaces de début du texte. LTrim('Text') Text - le texte dont les espaces de début sont supprimés. LTrim(' Supprimer les espaces de début uniquement. ') renvoie ' Supprimer les espaces de début uniquement. '
RTrim - supprime les espaces de fin du texte. RTrim('Text') Text - le texte dont les espaces de fin sont supprimés. RTrim(' Supprimer les espaces de fin uniquement. ') renvoie ' Supprimer les espaces de fin uniquement.'
Trim - supprime les espaces de début et de fin du texte. Trim('Text') Text - le texte tronqué. Trim(' Supprimer les espaces de début et de fin. ') retourne 'Supprimer les espaces de début et de fin'.
Len - renvoie la longueur du texte. Len('Text') Text - le texte mesuré. Len('Measure this text') renvoie 17

Remarque

Les fonctions sont sensibles à la casse. Par exemple, Upper('Text') sera traité, mais upper('Text') ne le sera pas.

Étapes suivantes

Pour lire une procédure pas à pas guidée de la création d’un exemple de runbook, consultez Création et test d’un exemple de runbook.