Créer des runbooks Service Management Automation
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’existe aucune différence dans les runbooks entre les deux systèmes, et le même runbook peut s’exécuter sur l’une 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
Dans le portail de gestion, sélectionnez Nouveau, App Services, Automation, Runbook, Création rapide.
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.
Si vous souhaitez modifier le runbook maintenant, sélectionnez Modifier le Runbook. Sinon, sélectionnez OK.
Votre nouveau runbook apparaît sur l’onglet Runbooks .
Importer un runbook à partir d’un fichier
Dans le Portail de gestion, sélectionnez Automation , puis sélectionnez un compte Automation.
Cliquez sur Importer.
Sélectionnez Rechercher un fichier et recherchez le fichier de script à importer.
Si vous souhaitez modifier le Runbook maintenant, sélectionnez Modifier le Runbook. Sinon, sélectionnez OK.
Votre nouveau Runbook apparaît sous l'onglet Runbooks du compte Automation.
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 comporte deux versions : Brouillon et Publié. Vous modifiez la version brouillon du flux de travail, puis publiez-la afin qu’elle puisse être exécutée. La version publiée ne peut pas être modifiée.
Modifier un runbook avec le 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 permet d’insérer automatiquement du code pour les runbooks, les ressources globales et les activités.
Dans le portail de gestion, sélectionnez Automation.
Sélectionnez l'onglet Runbooks .
Sélectionnez le nom du runbook que vous souhaitez modifier.
Cliquez sur l’onglet Auteur.
Sélectionnez Brouillon en haut de l’écran ou le bouton Modifier en bas de l’écran.
Effectuez la modification requise.
Sélectionnez Enregistrer lorsque vos modifications sont terminées.
Sélectionnez Publier si vous souhaitez publier la dernière version brouillon du runbook.
Sélectionnez l’onglet requis pour insérer du code pour les runbooks, les ressources globales et les activités :
- Insérer du code dans un runbook
- Insérer une ressource globale dans un runbook
- Insérer une activité dans un runbook
Procédez comme suit pour insérer du code dans un runbook :
Ouvrez le Runbook dans l'éditeur du Portail de gestion.
En bas de l’écran, sélectionnez Insérer , puis sélectionnez Runbook.
Sélectionnez le runbook à insérer à partir de la colonne centrale, puis sélectionnez la flèche droite.
Si le runbook possède des paramètres, ils sont répertoriés à titre d’information.
Sélectionnez le bouton de vérification.
Le code permettant d’exécuter le runbook sélectionné sera inséré dans le runbook actuel.
Si le runbook requiert 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 modifier 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 de script intégré Windows PowerShell (ISE) 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.
Ouvrez Windows PowerShell ISE.
Si le module complémentaire SMA ISE n’est pas affiché à droite de l’ISE, ouvrez le menu Des modules complémentaires et activez le module complémentaire SMA ISE.
Connectez-vous à SMA sous l’onglet Configuration .
Sélectionnez l’onglet Runbook . Vous devez voir une liste de runbooks SMA.
Sélectionnez le runbook que vous souhaitez modifier et sélectionnez Télécharger. Cette opération télécharge une copie locale du runbook à partir de SMA.
Sélectionnez Ouvrir. Cela crée un nouvel onglet avec le runbook.
Apportez les modifications nécessaires au runbook.
Sélectionnez Charger le brouillon pour envoyer le runbook à SMA. Cela remplacera la version brouillon existante du runbook.
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 afin que le Runbook Worker puisse l’exécuter. Chaque runbook dans Service Management Automation a 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, qui remplace la version publiée par la version Brouillon.
Publier un runbook à l’aide du portail de gestion
Sélectionnez l'espace de travail Automation .
En haut de l'écran, sélectionnez Runbooks.
Recherchez le Runbook à modifier, puis cliquez sur son nom.
En haut de l’écran, sélectionnez Auteur.
Sélectionnez Brouillon.
En bas de l’écran, sélectionnez Publier.
Sélectionnez Oui au 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 de script intégré Windows PowerShell (ISE) 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.
Ouvrez Windows PowerShell ISE.
Si le module complémentaire SMA ISE n’est pas affiché à droite de l’ISE, ouvrez le menu Des modules complémentaires et activez le module complémentaire SMA ISE.
Connectez-vous à SMA sous l’onglet Configuration .
Sélectionnez l’onglet Runbook . Vous devez voir une liste de runbooks SMA.
Sélectionnez le runbook et publiez le brouillon pour publier la dernière version brouillon du runbook.
Tester votre runbook
Vous pouvez tester la version Brouillon d’un runbook dans Service Management Automation tout en laissant la version publiée du runbook inchangé. 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éé, mais les flux de sortie et d’avertissement et d’erreur s’affichent dans le volet Sortie de test. Les messages vers le flux détaillé s’affichent dans le volet sortie uniquement si la variable $VerbosePreference est définie sur Continuer.
Lorsque vous testez un runbook, il exécute toujours le workflow normalement et effectue toutes les actions sur les 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 qu’il est testé avec les boutons 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 applets de commande qui émulent les activités standard telles que Get-SMACredential et Set-SMAVariable. Vous pouvez donc 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 les tests locaux. 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 les tests locaux, vous devez définir leur valeur localement.
Pour tester le runbook dans SMA, sélectionnez Test Draft dans SMA. Une nouvelle fenêtre sera ouverte. Sélectionnez Démarrer un nouveau travail pour démarrer le test. La sortie s’affiche dans la fenêtre.
Exemples de runbook Automation
Les runbooks suivants sont fournis avec Service Management Automation en tant qu’exemples de runbooks pour illustrer les techniques et les meilleures pratiques. Ils sont disponibles pour ê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 | Montre la capacité de Service Management Automation à se connecter à System Center 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 s’affiche dans le portail de gestion pour l’extension Utilisateurs administrateurs. Toutefois, cet utilisateur doit également être intégré au fournisseur d’authentification (par exemple, AuthSite) pour accéder au portail de gestion pour les 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 | Montre la capacité de Service Management Automation à utiliser des activités |
Sample-Using-Checkpoints | Montre 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 les informations d’identification et génère l’utilisateur sur lequel le runbook Service Management Automation s’exécute. 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 être utile si une étape manuelle est requise avant qu’un runbook ne continue, par exemple recevoir 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. |