Créer des runbooks Service Management Automation

Important

Cette version de Service Management Automation (SMA) a atteint la fin du support. Nous vous recommandons de mettre à niveau vers SMA 2022.

les runbooks dans Service Management Automation et Microsoft Azure Automation sont des workflows Windows PowerShell ou des scripts PowerShell. Ils offrent la possibilité d'automatiser des processus d'administration pour la gestion et le déploiement de serveurs cloud ou de toute autre fonction qu'un script Windows PowerShell peut exécuter.

Il n’y a aucune différence dans les runbooks entre les deux systèmes, et le même runbook peut s’exécuter sur l’un ou l’autre avec des fonctionnalités identiques. Lorsque le terme Automation est utilisé dans cet article, il fait référence à Service Management Automation et à Microsoft Azure Automation.

Les services supplémentaires fournis par Automation pour utiliser des flux de travail Windows PowerShell sont les suivants :

  • Stockage centralisé et gestion de Runbook.

  • Architecture évolutive pour la planification et l'exécution de Runbook.

  • Ressources globales gérées de manière centralisée et disponibles pour tous les Runbook.

  • Interface utilisateur pour la création et le test des Runbook.

  • Ensemble d'applets de commande pour la gestion et le démarrage des Runbook.

Créer ou importer un runbook

Vous pouvez ajouter un runbook à Service Management Automation en le créant dans le portail de gestion ou en l’important à partir d’un fichier.

Créer un runbook dans le Portail de gestion

  1. Dans le portail de gestion, sélectionnez Nouveau, App Services, Automation, Runbook, Création rapide.

  2. Entrez les informations requises, puis sélectionnez Créer. Le nom du runbook doit commencer par une lettre et peut contenir des lettres, des chiffres, des traits de soulignement et des tirets.

  3. Si vous souhaitez modifier le runbook maintenant, sélectionnez Modifier le runbook. Sinon, sélectionnez OK.

  4. Le nouveau runbook apparaît sous l'onglet Runbooks.

Importer un runbook à partir d’un fichier

  1. Dans le Portail de gestion, sélectionnez Automation , puis sélectionnez un compte Automation.

  2. Sélectionnez Importer.

  3. Sélectionnez Rechercher le fichier et recherchez le fichier de script à importer.

  4. Si vous souhaitez modifier le runbook maintenant, sélectionnez Modifier le runbook. Sinon, sélectionnez OK.

  5. Votre nouveau runbook s'affiche sous l'onglet Runbooks pour le compte d'automatisation.

Importer un runbook à partir d’un fichier de script avec Windows PowerShell

Vous pouvez utiliser l'applet de commande Import-SmaRunbook pour créer un Runbook à partir d'un fichier de script contenant un flux de travail.

Les exemples de commandes suivants montrent comment importer un fichier de script dans un Runbook existant, pour le publier ensuite.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scriptPath = "c:\runbooks\Test-Runbook.ps1"

Import-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Path $scriptPath
Publish-SMARunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName

Modifier un Runbook

Chaque runbook dans Service Management Automation a deux versions : Brouillon et Publié. Vous modifiez la version brouillon du flux de travail, puis vous la publiez pour qu’elle puisse être exécutée. La version publiée ne peut pas être modifiée.

Modifier un runbook à l'aide du Portail de gestion

Le Portail de gestion inclut un éditeur qui vous permet d'afficher et de modifier les Runbooks. En plus de fournir des fonctionnalités de modification de texte de base, l’éditeur offre la possibilité d’insérer automatiquement du code pour les runbooks, les ressources globales et les activités.

  1. Dans le portail de gestion, sélectionnez Automation.

  2. Sélectionnez l'onglet Runbooks.

  3. Sélectionnez le nom du runbook que vous souhaitez modifier.

  4. Cliquez sur l'onglet Auteur.

  5. Sélectionnez Brouillon en haut de l’écran ou le bouton Modifier en bas de l’écran.

  6. Effectuez la modification requise.

  7. Sélectionnez Enregistrer lorsque vos modifications sont terminées.

  8. Sélectionnez Publier si vous souhaitez que la dernière version préliminaire du runbook soit publiée.

Sélectionnez l’onglet requis pour les étapes d’insertion de code pour les runbooks, les ressources globales et les activités :

Procédez comme suit pour insérer du code dans un runbook :

  1. Ouvrez le Runbook dans l'éditeur du Portail de gestion.

  2. En bas de l’écran, sélectionnez Insérer , puis Runbook.

  3. Sélectionnez le runbook à insérer à partir de la colonne centrale, puis sélectionnez la flèche droite.

  4. Si le runbook possède des paramètres, ils sont répertoriés à titre d’information.

  5. Sélectionnez le bouton case activée.

  6. Le code permettant d’exécuter le runbook sélectionné sera inséré dans le runbook actuel.

  7. Si le runbook nécessite des paramètres, fournissez une valeur appropriée à la place du type de données entouré d’accolades <>.

Modifier un runbook Automation avec PowerShell

Pour modifier un Runbook avec Windows PowerShell, modifiez le flux de travail à l'aide de l'éditeur de votre choix, puis enregistrez-le dans un fichier .ps1. Vous pouvez utiliser l'applet de commande Get-SMARunbookDefinition pour récupérer le contenu du Runbook, puis l'applet de commande Edit-SMARunbook pour remplacer la version brouillon du flux de travail par la version modifiée.

Pour récupérer le contenu d'un runbook à l'aide de Windows PowerShell

Les exemples de commandes suivants montrent comment récupérer le script d’un runbook et l’enregistrer dans un fichier de script. Dans cet exemple, le brouillon est récupéré. Il est également possible de récupérer la version publiée du runbook, bien que cette version ne puisse pas être modifiée.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scriptPath = "c:\runbooks\Test-Runbook.ps1"

$runbookDefinition = Get-SMARunbookDefinition -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Type Draft
$runbookContent = $runbookDefinition.Content

Out-File -InputObject $runbookContent -FilePath $scriptPath

Pour changer le contenu d'un runbook à l'aide de Windows PowerShell

Les exemples de commandes suivants montrent comment remplacer le contenu existant d'un Runbook par le contenu d'un fichier de script contenant un flux de travail.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scriptPath = "c:\runbooks\Test-Runbook.ps1"

Edit-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Path $scriptPath -Overwrite
Publish-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Path $scriptPath

Modifier un runbook Automation avec PowerShell ISE

L’environnement d’écriture de scripts intégré (ISE) Windows PowerShell est une application qui vous permet d’exécuter des commandes et d’écrire, tester et déboguer des scripts. Le module complémentaire SMA PowerShell ISE vous permet d’utiliser cet outil pour écrire et tester des runbooks Automation.

  1. Ouvrez Windows PowerShell ISE.

  2. Si le module complémentaire SMA ISE n’est pas affiché sur le côté droit de l’ISE, ouvrez le menu Modules complémentaires et activez le module complémentaire SMA ISE.

  3. Connectez-vous à SMA sur l'onglet Configuration.

  4. Sélectionnez l’onglet Runbook . Vous devriez voir la liste des runbooks SMA.

  5. Sélectionnez le runbook que vous souhaitez modifier, puis sélectionnez Télécharger. Cela télécharge une copie locale du runbook à partir de SMA.

  6. Sélectionnez Ouvrir. Cela crée un nouvel onglet avec le runbook.

  7. Apportez les modifications nécessaires au runbook.

  8. Sélectionnez Charger le brouillon pour envoyer le runbook à SMA. Cela remplacera la version brouillon existante du runbook.

  9. Sélectionnez Publier le brouillon si vous souhaitez publier la dernière version brouillon du runbook.

Publier votre runbook

Une fois que vous avez créé votre runbook, vous devez le publier pour que le Runbook Worker puisse l’exécuter. Dans Service Management Automation, chaque runbook présente un brouillon et une version publiée. Seule la version publiée est disponible à l'exécution, et seul le brouillon peut être modifié. La version publiée n'est pas affectée par les modifications apportées à la version Bouillon. Lorsque vous êtes prêt à rendre la version brouillon disponible, vous la publiez, ce qui remplace la version publiée par la version brouillon.

Publier un runbook à l'aide du portail de gestion

  1. Sélectionnez l'espace de travail Automation.

  2. En haut de l'écran, sélectionnez Runbooks.

  3. Recherchez le Runbook à modifier, puis cliquez sur son nom.

  4. En haut de l’écran, sélectionnez Auteur.

  5. Sélectionnez Brouillon.

  6. En bas de l’écran, sélectionnez Publier.

  7. Sélectionnez Oui pour le message de vérification.

Publier un runbook à l’aide de PowerShell

Vous pouvez utiliser Publish-SmaRunbook pour publier un Runbook avec Windows PowerShell. Les exemples de commandes suivants montrent comment publier un Runbook.

$webServer = 'https://MyServer'
$port = 9090
$runbookPath = 'c:\runbooks\Sample-TestRunbook.ps1'
$runbookName = 'Test-Runbook'

Publish-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName

Publier un runbook à l’aide de PowerShell ISE

L’environnement d’écriture de scripts intégré (ISE) Windows PowerShell est une application qui vous permet d’exécuter des commandes et d’écrire, tester et déboguer des scripts. Le module complémentaire SMA PowerShell ISE vous permet d’utiliser cet outil pour écrire et tester des runbooks Automation.

  1. Ouvrez Windows PowerShell ISE.

  2. Si le module complémentaire SMA ISE n’est pas affiché sur le côté droit de l’ISE, ouvrez le menu Modules complémentaires et activez le module complémentaire SMA ISE.

  3. Connectez-vous à SMA sur l'onglet Configuration.

  4. Sélectionnez l’onglet Runbook . Vous devez voir la liste des runbooks SMA.

  5. Sélectionnez le runbook, puis sélectionnez Publier le brouillon pour publier la dernière version de brouillon du runbook.

Tester votre runbook

Vous pouvez tester le brouillon d'un runbook dans Service Management Automation tout en conservant la version publiée du runbook sans changement. Cela vous permet de vérifier que le Runbook fonctionne correctement avant de remplacer la version publiée.

Lorsque vous testez un Runbook, le Runbook brouillon est exécuté et toutes les actions qu'il effectue sont finalisées. Aucun historique des travaux n'est créé. Toutefois, les flux Output et Warning and Error sont affichés dans le volet de résultats des tests. Les messages destinés au Verbose Stream sont affichés dans le volet Sortie de test, uniquement si la $VerbosePreference variable a la valeur Continue.

Quand un runbook est testé, il continue à exécuter le workflow normalement et à effectuer les actions relatives aux ressources de l'environnement. Ainsi, vous devez uniquement tester les Runbooks sur des ressources hors production.

Tester un runbook dans Service Management Automation

Pour tester un Runbook, vous devez ouvrir la version brouillon du Runbook dans le Portail de gestion. Sélectionnez le bouton Tester en bas de l’écran pour démarrer le test.

Vous pouvez arrêter ou suspendre le runbook pendant son test à l’aide des boutons situés sous le volet Sortie. Lorsque vous interrompez le runbook, il termine l’activité en cours avant de s’interrompre. Lorsque le runbook est suspendu, vous pouvez l’arrêter ou le redémarrer.

Tester un runbook à l’aide de PowerShell ISE

Le module complémentaire PowerShell ISE fournit des cmdlets qui émulent les activités standard, telles que Get-SMACredential et Set-SMAVariable, de sorte que vous puissiez tester le runbook sur l’ordinateur local comme vous le feriez pour n’importe quel autre script.

Les ressources globales et leurs valeurs sont téléchargées à partir du groupe Automation à utiliser pour le test local. Vous pouvez inspecter ou modifier ces valeurs sous l’onglet Ressources . Les valeurs chiffrées sont affichées en orange et leurs valeurs ne sont pas téléchargées. Si vous souhaitez utiliser ces ressources dans un test local, vous devez définir leur valeur localement.

Pour tester le runbook dans SMA, sélectionnez Brouillon de test dans SMA. Une nouvelle fenêtre s'ouvre. Sélectionnez Démarrer un nouveau travail pour démarrer le test. La sortie s'affiche dans la fenêtre.

Échantillons de runbooks Automation

Les runbooks suivants sont fournis avec Service Management Automation en tant qu'échantillons de runbooks pour illustrer les techniques et les meilleures pratiques. Ils peuvent être utilisés dans l’extension Automation dans Microsoft Azure Pack pour Windows Server.

Nom du Runbook Description
Sample-Deleting-VMCloud-Subscription Illustre un scénario utile pour déclencher un Runbook lorsqu'un utilisateur supprime un abonnement aux clouds de l'ordinateur virtuel.
Sample-Managing-Azure Montre comment se connecter à un abonnement Microsoft Azure et effectuer des opérations de base à l’aide du module Microsoft Azure PowerShell.
Sample-Managing-ConfigurationManager Illustre la capacité de Service Management Automation à se connecter à Configuration Manager.
Sample-Managing-DataProtectionManager Montre comment se connecter à un serveur Data Protection Manager (DPM) et afficher des informations sur les disques trouvés sur le serveur DPM.
Sample-Managing-MySQLServers Montre comment récupérer un jeton de sécurité qui sera utilisé pour récupérer la liste des serveurs hôtes.
Sample-Managing-OperationsManager Illustre la capacité de Service Management Automation à se connecter à Operations Manager.
Sample-Managing-Orchestrator Montre comment se connecter à System Center Orchestrator et démarrer un runbook Orchestrator pour utiliser votre infrastructure existante.
Sample-Managing-Plans Montre comment créer un plan et ajouter le service SQL Server avec un quota défini au nouveau plan.
Sample-Managing-ServiceBusClouds Montre comment se connecter à un serveur du cloud du bus des services et afficher des informations sur les espaces de noms créés.
Sample-Managing-SQLServers Montre comment créer un groupe de serveurs et ajouter un serveur d'hébergement SQL.
Sample-Managing-UserAccounts Montre comment créer un utilisateur dans Microsoft Azure Pack pour Windows Server, qui sera créé dans Microsoft Azure Pack et qui apparaîtra dans l’extension Utilisateurs du portail de gestion pour les administrateurs. Toutefois, cet utilisateur doit également être intégré au fournisseur d’authentification (par exemple, AuthSite) pour accéder au portail de gestion des locataires, qui n’est pas inclus dans cet exemple.
Sample-Managing-VirtualMachineManager Montre comment se connecter à un serveur Virtual Machine Manager (VMM) et afficher des informations sur la licence du serveur VMM.
Sample-Managing-VMClouds Montre comment accéder aux informations sur la connexion de base de données d'un serveur Service Provider Foundation et aux informations sur les objets du serveur VMM gérés par Service Provider Foundation.
Sample-Managing-WebSiteCloud Illustre comment se connecter à un serveur contrôleur des clouds de sites Web et afficher des informations sur les serveurs déployés des clouds de sites Web.
Sample-Modify-VMCloud-Subscription Illustre un scénario utile pour déclencher un Runbook quand le client ou l'administrateur suspendent ou activent un abonnement à des clouds de l'ordinateur virtuel.
Sample-Using-Activities Illustre la capacité de Service Management Automation à utiliser des activités
Sample-Using-Checkpoints Illustre la possibilité d’utiliser des points de contrôle dans Service Management Automation.
Sample-Using-Connections Illustre la capacité de Service Management Automation à utiliser des connexions pour se connecter à des systèmes distants.
Sample-Using-Credentials Illustre la capacité de Service Management Automation à utiliser des informations d’identification et sort l’utilisateur que le runbook Service Management Automation exécute en tant que tel. Se connecte ensuite au serveur 'Nom_serveur' et renvoie l'utilisateur spécifié par 'SampleCredential' qui accède au serveur.
Sample-Using-Modules Illustre l'importation de modules dans les Runbook, puis renvoie le nombre de modules déjà importés sur le serveur 'Nom_serveur'. Importe ensuite le module spécifié par 'ModulePath' et renvoie le nouveau nombre de modules et les informations correspondant au module nouvellement importé.
Sample-Using-RunbookParameters Montre comment utiliser des paramètres d'entrée pour les Runbook et également comment spécifier si les paramètres sont requis, comment fournit des valeurs de paramètre par défaut et comment utiliser des valeurs de paramètre ultérieurement dans le flux de travail.
Sample-Using-Runbooks Montre comment appeler un Runbook à partir d'un autre Runbook.
Sample-Using-SuspendWorkflow Montre comment forcer la suspension d'un Runbook. Cela peut s’avérer utile si une étape manuelle est nécessaire avant qu’un runbook continue, par exemple en recevant l’approbation de déconnexion d’une personne spécifique. Une fois l'étape manuelle terminée, le Runbook suspendu est repris manuellement pour se poursuivre.
Sample-Using-Variables Illustre la capacité de Service Management Automation à utiliser des variables.
Sample-Using-VMCloud-Automation Illustre un scénario utile pour déclencher un Runbook au début d'un événement Service Provider Foundation.

Étapes suivantes