Exemple d’automatisation Active Directory

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 7 minutes de lecture
  • Un ensemble de six activités Active Directory d’Orchestration permet aux organisations d’automatiser leurs processus d’intégration et de départ avec des workflows vérifiables et auto-documentés qui permettent de gagner du temps et d’éliminer les erreurs.

    Les activités de sont Pack d’activité Active Directory conçues pour gérer les comptes utilisateurs et réinitialiser les mots de passe des utilisateurs. Les activités suivantes couvrent les cas d’utilisation les plus courants rencontrés par les administrateurs lors de la gestion des comptes d’utilisateur Active Directory :
    • Créer un compte utilisateur AD
    • Mettre à jour le compte utilisateur AD
    • Supprimez le compte d'utilisateur AD
    • Désactiver le compte d'utilisateur AD
    • Interroger AD
    • Réinitialiser le mot de passe utilisateur AD.

    Ces activités partagent une conception commune, des fonctionnalités complémentaires et un ensemble commun de paramètres. Elles peuvent être utilisées seules ou ensemble pour créer des workflows cohérents pour la mise en service et l’annulation de la mise en service des comptes d’utilisateurs.

    Mettre à jour Active Directory avec Orchestration

    Une organisation prévoit de faire de son ServiceNow instance le système d’enregistrement unique des données de compte utilisateur et souhaite mettre à jour Active Directory avec les derniers changements.

    Pourquoi et quand exécuter cette tâche

    La solution consiste à créer un workflow Orchestration qui envoie les modifications de l’enregistrement ServiceNow utilisateur vers Active Directory pour créer un nouvel enregistrement utilisateur ou mettre à jour un enregistrement existant. Pour ce faire, il crée un workflow Orchestration capable de créer et de mettre à jour des enregistrements dans Active Directory en fonction des données de la ServiceNow table Utilisateur [sys_user].

    Remarque :
    Cet exemple de workflow suppose que ServiceNow configuré pour LDAP et qu’un serveur LDAP est configuré pour accepter les nouveaux comptes d’utilisateurs. Les activités de gestion des utilisateurs Active Directory ne dépendent pas de LDAP, mais la présence de LDAP facilite grandement cet exemple de workflow. Vous devez fournir l’adresse IP du contrôleur de domaine au workflow, soit en la codant en dur, soit en ajoutant une autre entrée de workflow, soit en utilisant un script pour la rechercher à partir de la CMDB.

    Procédure

    1. Accédez à la Tous > Workflow > Éditeur de workflow.
    2. Dans l’onglet Workflow , cliquez sur l’icône + pour créer un workflow à l’aide des variables suivantes :
      • Nom : Synchroniser l’utilisateur AD
      • Tableau : Global [global]
    3. Cliquez sur Envoyer.
      Un flux de travail de base avec un point de début et de fin apparaît sur le canevas.
    4. Cliquez sur l’icône de menu dans le coin supérieur gauche du canevas et sélectionnez Modifier les entrées dans le menu contextuel.
      Figure 1. Modification des entrées de workflow
      Modification des entrées de workflow
    5. Dans le formulaire Entrées du workflow, cliquez sur Nouveau dans la liste d’enregistrements de variables et créez une variable à l’aide des champs de la table.
      Champ Valeur
      Type Référence
      Étiquette Utilisateur
      Nom de colonne u_user
      Spécification de référence > référence Utilisateur (sys_user)
    6. Cliquez sur Envoyer.
    7. Dans l’onglet Personnalisé , développez Activités personnalisées > Active Directory.
    8. Glissez-déplacez l’activité Mettre à jour l’objet AD sur la ligne de transition entre les points de début et de fin du nouveau workflow.
      Cette action relie automatiquement l’activité au point de terminaison et ouvre le formulaire de propriété Activité du workflow.
    9. Remplissez le formulaire à l'aide des champs de la table.
      Champ Valeur
      Nom Entrez un nom logique tel que Mettre à jour les données utilisateur.
      Contrôleur de domaine L’intégration ServiceNow LDAP ajoute une référence au serveur LDAP auquel le compte de l’utilisateur est lié. Pour identifier le serveur LDAP, entrez l’instruction suivante :

      ${workflow.inputs.u_user.ldap_server.server_url}

      Type Type d’objet AD. Dans ce cas, le type est User, qui est la valeur par défaut.
      Nom d'objet Cet exemple suppose que le ServiceNow nom d’utilisateur correspond au sAMAccountName Active Directory. Saisissez les informations suivantes :

      ${workflow.inputs.u_user.nom_utilisateur}

      Données d'objet Met à jour le compte de l’utilisateur dans Active Directory, si l’utilisateur existe. Dans cet exemple, le titre de l’utilisateur est mis à jour :

      {"title » : « QA"}

    10. Cliquez sur Envoyer.
      Le workflow ressemble à ceci :
      Figure 2. Mise à jour d’un utilisateur AD
      Mise à jour de l’utilisateur AD
    11. Joignez les deux résultats de l’activité (réussite et échec) au point de terminaison.
      À ce stade, le workflow prend un ServiceNow enregistrement utilisateur comme entrée et met à jour le prénom, le nom et le titre du compte Active Directory correspondant. Si le compte n’existe pas dans Active Directory, le workflow échoue.
      Remarque :
      Dans un workflow normal, un certain type d’action alternative est souhaitable en cas d’échec. Par exemple, vous pouvez envoyer des notifications par e-mail et SMS si le workflow n’a pas réussi à mettre à jour l’enregistrement.
    12. Pour éviter l’échec du workflow, ajoutez une activité Créer un objet AD aux lignes de transition entre Début et l’activité Mettre à jour l’objet AD.
    13. Remplissez le formulaire de propriétés Activité du workflow en utilisant les champs de la table.
      Champ Valeur
      Nom Entrez un nom logique tel que Créer des données utilisateur.
      Contrôleur de domaine Identique à l’activité de mise à jour. ${workflow.inputs.u_user.ldap_server.server_url}
      OU Unité organisationnelle à laquelle cet objet appartient. Pour les besoins de cet exemple, vous pouvez entrer OU=HQ,OU=Managed Objects
      Nom d'objet Identique à l’activité de mise à jour. ${workflow.inputs.u_user.nom_utilisateur}
      Données d'objet Crée un compte avec uniquement le nom d’utilisateur. Pour les besoins de cet exemple, vous pouvez entrer {"givenName » : « ${workflow.inputs.u_user.first_name} », « SN » : « ${workflow.inputs.u_user.last_name} » }
    14. Cliquez sur Envoyer.
    15. Connectez le résultat d’échec de l’activité de création d’objet AD à la fin.
      Pour cet exemple, nous ignorons les erreurs. Le workflow ressemble maintenant à ceci :
      Figure 3. Création d’un utilisateur AD
      Création d’un utilisateur AD

      Cette procédure crée un flux de travail simple qui crée un compte Active Directory de base composé uniquement d’un nom d’utilisateur. Le workflow met ensuite à jour ce compte avec des informations supplémentaires fournies par la ServiceNow table Utilisateur [sys_user]. Toutefois, nous ne voulons pas exécuter l’activité Créer un objet AD si le compte utilisateur existe déjà. Le workflow doit interroger Active Directory pour trouver les enregistrements utilisateur correspondants, puis créer une branche du workflow en fonction des résultats de la requête. Si un compte existe déjà, le workflow doit mettre à jour le compte. Si le compte n’existe pas, le workflow doit créer le compte dans Active Directory.

    16. Glissez-déplacez l’activité Interroger AD sur la transition entre Commencer et Créer un objet AD.
    17. Remplissez le formulaire de propriétés Activité du workflow en utilisant les champs de la table.
      Champ Définition
      Nom Entrez un nom logique tel que Rechercher un compte existant.
      Contrôleur de domaine ${workflow.inputs.u_user.ldap_server.server_url}
      Propriétés Liste des propriétés Active Directory séparées par des virgules à renvoyer. Par exemple, givenName, SN, titre. Si le champ de paramètre est vide, toutes les propriétés sont renvoyées. Dans ce workflow, nous laissons le champ vide.
      Filtre de recherche Une chaîne de filtre LDAP qui définit les paramètres de recherche. Utilisez n’importe quel critère de filtrage LDAP valide. Pour trouver des comptes d’utilisateurs correspondant à l’enregistrement d’entrée, nous utilisons :

      (samaccountname=${workflow.inputs.u_user.user_name})

    18. Cliquez sur Envoyer.
    19. Connectez le résultat d’échec de l’activité de requête au point de terminaison.
      N’oubliez pas que nous ignorons les erreurs dans ce workflow.
    20. Connectez le résultat de réussite de l’activité de requête à l’activité Mettre à jour l’objet AD.
      Le workflow ressemble maintenant à ceci :
      Figure 4. Interrogation AD des comptes utilisateurs
      Interrogation AD des comptes utilisateurs

      L’activité Query AD renvoie ses résultats sous forme de chaîne JSON dans le bus de données du workflow. Cette chaîne JSON est toujours un tableau d’objets. Chaque objet correspond à une entrée Active Directory correspondant à la requête. Notre flux de travail doit se ramifier, que ce tableau soit vide ou non.

    21. Faites glisser une activité If standard du dossier Conditions dans l’onglet Core et déposez-la sur la transition entre Query AD et Update AD Object.
    22. Renseignez le formulaire des propriétés de l’activité du workflow à l’aide des champs de la table.
      Champ Valeur
      Nom Entrez un nom logique tel que Le compte existe.
      Avancés Cochez cette case pour ouvrir le champ Script .
      Script Pour que l’activité If fonctionne correctement, nous devons retourner un oui ou un non dans la variable de réponse (var) qui correspond aux résultats Oui et Non de l’activité de requête. La ligne 1 convertit les résultats de la requête AD d’une chaîne JSON en un tableau JavaScript appelé queryResults. La ligne 2 vérifie la longueur de ce tableau. Si le tableau est supérieur à 0, une correspondance avec le compte a été trouvée et nous avons défini notre réponse sur oui. Sinon, la réponse est non.

      var queryResults=new JSON().decode(data.get(5).output) ;

      answer = ( queryResults.length>0 ? 'yes' : 'no' ) ;

      Remarque :
      L’expression data.get(5) dans ce script identifie la sortie Query AD dans le Databus par numéro d’ordre, puisqu’il s’agit de la cinquième activité ajoutée au workflow.
      Figure 5. Interroger les sorties AD dans le bus de données
      Interroger les sorties AD dans le bus de données
    23. Cliquez sur Envoyer.
    24. Dans le canevas, créez une transition entre le résultat Oui de l’activité Si et l’activité Mettre à jour l’objet AD.
    25. Créez une transition entre le résultat Aucun résultat de l’activité Si et l’activité Créer un objet AD.
      C’est la dernière étape. Ce workflow interroge Active Directory pour déterminer si un compte existe déjà. Si un compte existe, le workflow met à jour ce compte. Si aucun compte n’existe, le workflow crée le compte, puis met à jour Active Directory avec l’ensemble de données utilisateur configuré.
      Figure 6. Création des chemins d’accès conditionnels
      Création des chemins d’accès conditionnels