Table des matières
Aperçu
Pour automatiser l'exécution des programmes Octopus, vous devez créer une tâche planifiée dans Windows. Pour ce faire, suivez les lignes directrices contenues dans cet article.
Articles reliés
- ADSIReader
- Importation à partir d'Active Directory.
- DataImporter
- Importation à partir de source ODBC.
- GetDB
- Téléchargement de la base de données Octopus.
- MailIntegration
- Creation d'incidents/d'évènements à partir de courriel.
- WMIUpdater
- Actualisation de la configuration des ordinateurs.
Prérequis
- Identifier un ordinateur qui sera responsable d'exécuter le programme Octopus. Il est recommandé d'utiliser un serveur ou au minimum un poste qui reste toujours allumé.
- Planifier les occurrences selon lesquelles les opérations doivent s'exécuter automatiquement.
- Portez une attention particulière aux conflits d'horaire avec les tâches planifiées de sauvegarde ou de redémarrage dans le cas des transferts de données.
- La cédule d'exécution récurrente de MailIntegration devrait être, selon votre environnement et vos cibles de réponses, entre 3 et 10 minutes.
- Vérifier pour ne pas exécuter à nouveau la tâche si elle est déjà en cours d'exécution.
- Déterminer les besoins d'accès de l'utilisateur de traitement par lot.
- Le programme WMIUpdater nécessite d'être exécuté dans un contexte usager ayant les droits d'administration des machines cibles (généralement domain admin).
- Optionnellement, créer un compte d'utilisateur Windows spécifique à l'opération des tâches planifiées
Programmation de la tâche planifiée
- Créer un fichier de traitement par lot (batch file) contenant les commandes et tous les paramètres associés que vous voulez utiliser.
- Vous pouvez mettre plusieurs commandes une à la suite de l'autre pour effectuer plusieurs opérations.
- Nous recommandons l'utilisation du fichier de traitement par lot parce qu'il est plus simple de le modifier qu'altérer une tâche planifiée.
- Confirmer le fonctionnement du fichier de traitement par lot avant de poursuivre la mise en place de l'automatisation.
- Référez-vous à la documentation du système d'exploitation destiné à héberger les tâches automatisées pour faire l'édition de fichier de traitement par lot.
- Créer une tâche planifiée qui exécutera le fichier de traitement par lot selon la cédule.
- Accéder au gestionnaire de tâches planifiées via Panneau de configuration > Outils d'administration > Tâches planifiées.
- Créer une nouvelle tâche.
- Assigner un nom significatif.
- Selon la taille de votre environnement informatique, il pourrait y avoir plusieurs tâches présentes dans le planificateur.
- Sélectionner un horaire et une fréquence d'exécution du programme selon ce que vous avez déterminé précédemment.
- Dans le champ programme, indiquer le nom du fichier de traitement par lot que vous avez créé précédemment.
- Le champ paramètre peut être laissé vide.
- Spécifier un compte pour exécuter la tâche.
- Vous devrez entrer le mot de passe chaque fois que vous modifierez la tâche planifiée.
- Consignez le mot de passe par écrit dans un endroit sécuritaire. Si vous changez le mot de passe du compte d'exécution, vous aurez à le redéfinir pour toutes les tâches.
- Référez-vous à la documentation du système d'exploitation destiné à héberger les tâches planifiées pour faire la configuration de la tâche planifiée.
- Tester la tâche planifiée en l'exécutant immédiatement. Le programme génère un fichier .log dans lequel vous trouverez les résultats de l'exécution; dans le répertoire d'Octopus. Vous pouvez aussi vérifier si la tâche a fonctionné en allant voir le résultat directement dans Octopus.
* Si vous avez plusieurs boîtes de courriels, il est généralement préconisée d'avoir une seule tâche planifiée Windows qui va exécuter un "batch file" qui lui s'occupera de lancer MailIntegration autant de fois que vous avez de boîte de courriel.
Utiliser un compte Microsoft Entra ID
Requis
Lorsque Octopus est configuré en authentification unique (SSO) avec Microsoft Entra ID, le programme Octopus exécuté par la tâche planifiée doit s'authentifier avec un compte Microsoft Entra ID. Ce compte doit respecter les conditions suivantes :
- Le compte doit pouvoir s'authentifier sans authentification multifacteur (MFA).
- La tâche planifiée s'exécute sans intervention humaine. Personne ne peut donc répondre à une demande d'authentification multifacteur.
- L'authentification multifacteur doit être désactivée pour ce compte, ou celui-ci doit être exclu des politiques d'accès conditionnel qui l'exigent.
- Le compte doit exister dans Octopus.
- Le compte doit être créé comme utilisateur dans Octopus avec le nom d'utilisateur Microsoft Entra ID correspondant (ex. serviceaccount@domain.com).
- Il doit avoir les droits nécessaires aux opérations effectuées par le programme.
Tester le compte
Cette fonctionnalité permet de valider, avant de mettre en place la tâche planifiée, que le compte peut s’authentifier auprès de Microsoft Entra ID sans authentification multifacteur.
Utilisez la fonctionnalité Générer le mot de passe chiffré pour Microsoft Entra ID dans Octopus :
- Lancer le client windows Octopus
- Accédez à la fonctionnalité via Outils > Générer le mot de passe chiffré pour Microsoft Entra ID ...
- Saisissez le nom d'utilisateur Microsoft EntraID du compte et son mot de passe.
- Cliquez sur Générer.
- Si un mot de passe chiffré s'affiche, le compte a réussi à s'authentifier auprès de Microsoft Entra ID sans authentification multifacteur. Il peut donc être utilisé par la tâche planifiée.
- Si un message d'erreur s'affiche, vérifiez le mot de passe, le statut du compte et la configuration de l'authentification multifacteur ou de l'accès conditionnel dans Microsoft Entra ID. Les journaux de connexion de l'utilisateur dans Microsoft Entra ID donnent plus de détails sur la cause de l'échec.
- Copiez le mot de passe chiffré avec le bouton de copie situé à droite du champ.
Utiliser le mot de passe chiffré dans le fichier de traitement par lot
Passez le mot de passe chiffré à l'argument /password dans la ligne de commande du programme Octopus, et le nom d'utilisateur Microsoft Entra ID à l'argument /login.
Exemple :
/login:serviceaccount@domain.com /password:<mot de passe chiffré>
Avec ces deux arguments, le programme s'authentifie dans Octopus avec ce compte, quel que soit l'utilisateur Windows qui exécute la tâche planifiée.
Trucs et astuces
Par souci de suivi, utilisez l'application gratuite Blat pour terminer votre fichier de traitement par lot par une notification courriel envoyée à votre responsable de l'automatisation.
Voici un exemple d'un fichier de traitement par lot qui valide que toutes les exécutions d'une application quelconque ont terminé avec succès.
@ECHO OFF
SETLOCAL
SET OctopusClientDirectory=C:\PATH TO YOUR OCTOPUS CLIENT INSTALLATION
PUSHD "%OctopusClientDirectory%"
REM Appel de la premiere application
ESI.Octopus.MailIntegrationApp.exe ^
/Login:***** /Password:***** /Team:x ^
/ConfigFilePath:"PATHTOXML" ^
/LogFilePath:"PATHTOLOGFILE" ^
/NoRestartOnUpdate
REM Sauvegarde du code de retour de MailIntegration
SET BoiteCourriel1Resultat=%ERRORLEVEL%
REM Appel de la deuxieme application
ESI.Octopus.MailIntegrationApp.exe ^
/Login:***** /Password:***** /Team:x ^
/ConfigFilePath:"PATHTOXML" ^
/LogFilePath:"PATHTOLOGFILE" ^
/NoRestartOnUpdate
REM Sauvegarde du code de retour de MailIntegration
SET BoiteCourriel2Resultat=%ERRORLEVEL%
REM VALIDATION des RESULTATS
REM Par convention, une application qui retourne 0 signifie que tout est beau
SET ResultatGlobal=0
IF NOT "%BoiteCourriel1Resultat%"=="0" SET ResultatGlobal=1
IF NOT "%BoiteCourriel2Resultat%"=="0" SET ResultatGlobal=1
IF NOT "%ResultatGlobal%"=="0" GOTO GlobalResultError
:: HearBeat on whatever system you need to report
ECHO All good ! Sending signal to some server
REM BLAT an email to someone
REM SEE http://www.blat.net/ for more details
GOTO Quit
:GlobalResultError
ECHO Bleh, something wrong happened
REM BLAT an email to someone to alert
REM SEE http://www.blat.net/ for more details
:Quit
REM Do cleanup stuff if needed, or simply quit the batch file
EXIT /B %ResultatGlobal%
Merci, votre message a bien été envoyé.
