Partager via


Automatiser les opérations Microsoft Azure Pack avec Service Management Automation

Vous pouvez utiliser des runbooks Service Management Automation (SMA) pour automatiser les opérations de routine dans votre environnement Microsoft Azure Pack pour Windows Server. Il existe deux types distincts de runbooks SMA :

Type Description
Workflow PowerShell Runbook texte basé sur le workflow Windows PowerShell.
PowerShell Runbook texte basé sur le script Windows PowerShell.

Runbooks de flux de travail PowerShell

Les runbooks powerShell Workflow sont basés sur le flux de travail Windows PowerShell. Vous pouvez modifier directement le code du runbook à l’aide de l’éditeur dans le portail de gestion. Vous pouvez également utiliser n’importe quel éditeur de texte hors connexion et importer le runbook dans SMA.

Avantages

  • Implémentez toute la logique complexe avec du code de flux de travail PowerShell.
  • Utilisez des points de contrôle pour reprendre le Runbook en cas d'erreur.
  • Utilisez un traitement en parallèle pour effectuer plusieurs actions en parallèle.
  • Incluez d’autres runbooks powerShell Workflow en tant que runbooks enfants pour créer des flux de travail de haut niveau.

Limites

  • Vous devez être familiarisé avec les workflows PowerShell.
  • Le Runbook doit gérer la complexité supplémentaire du flux de travail PowerShell, comme les objets désérialisés.
  • Un Runbook prend plus de temps à démarrer que les Runbooks PowerShell car il doit être compilé avant l'exécution.
  • Les runbooks PowerShell peuvent uniquement être inclus en tant que runbooks enfants à l’aide de l’applet de commande Start-SMARunbook, qui crée un travail.

Runbooks PowerShell

Les Runbooks PowerShell sont basés sur Windows PowerShell. Vous pouvez modifier directement le code du runbook à l’aide de l’éditeur dans le portail de gestion. Vous pouvez également utiliser n’importe quel éditeur de texte hors connexion et importer le runbook dans SMA.

Avantages

  • Implémentez toute la logique complexe avec du code PowerShell sans les complexités supplémentaires du flux de travail PowerShell.
  • Le Runbook démarre plus rapidement que les Runbooks de workflow PowerShell dans la mesure où il n'a pas besoin d'être compilé avant l'exécution.

Limites

  • Vous devez être familiarisé avec les scripts PowerShell.
  • Vous ne pouvez pas utiliser le traitement parallèle pour effectuer plusieurs actions en parallèle.
  • Vous ne pouvez pas utiliser de points de contrôle pour reprendre des runbooks lorsqu’une erreur se produit.
  • Les runbooks PowerShell Workflow peuvent uniquement être inclus en tant que runbooks enfants à l’aide de l’applet de commande Start-SMARunbook, qui crée un travail.

Comment SMA exécute des runbooks

Les demandes de démarrage d’un runbook sont effectuées par le service web SMA à l’aide du portail de gestion des services ou de l’applet de commande Start-SmaRunbook Windows PowerShell. Le service web écrit cette requête dans la base de données Automation où elle est récupérée par l’un des serveurs Worker Automation.

Si la propriété RunbookWorker du runbook est remplie, ce serveur Worker va traiter le travail. Si le serveur Worker n’est pas disponible, le travail échoue avec une erreur. Si la propriété RunbookWorker du runbook n’est pas remplie, SMA sélectionne de façon aléatoire un serveur Worker disponible pour traiter la requête.

Le serveur Worker crée un travail qui s’exécute sur le serveur Worker qui service la demande et accède à distance à tous les ordinateurs ou autres ressources qu’il utilisera. Ainsi, les applets de commande du Runbook doivent pouvoir accéder à distance à ces ressources. Sinon, le Runbook peut également inclure une commande InlineScript afin d'utiliser la communication à distance PowerShell pour exécuter les commandes localement sur un ordinateur cible. Ce concept est illustré dans le schéma suivant.

Diagramme d’exécution du Runbook.

Si un travail est suspendu ou interrompu, il peut reprendre sur un autre serveur Worker. En raison de cela, vous devez faire attention à l’utilisation de ressources locales qui ne sont pas accessibles à tous les serveurs Worker, tels qu’un fichier sur un ordinateur local. Vous devez utiliser des ressources globales telles que des variables autant que possible pour partager des informations entre des points de contrôle.

autorisations

Pour qu'un Runbook puisse effectuer les actions qui lui sont demandées, il doit avoir les autorisations nécessaires pour accéder aux ressources qu'il utilise. Les Runbooks dans SMA s’exécutent toujours dans le contexte du compte de service du runbook Service Automation. Si ce compte n’a pas les autorisations requises, vous pouvez utiliser des informations d’identification ou une ressource globale de connexion dans votre runbook pour exécuter les commandes requises à l’aide d’informations d’identification avec les autorisations requises. Ces informations d'identification peuvent être utilisées avec une applet de commande qui accepte les informations d'identification via un paramètre, ou avec InlineScript pour exécuter un bloc de code à l'aide d'autres informations d'identification.

Étapes suivantes