Active Directory-Automatisierungsbeispiel

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 6 Minuten Lesedauer
  • Ein Satz von sechs Orchestration Active Directory-Aktivitäten ermöglicht es Unternehmen, ihre Onboarding-/Offboarding-Prozesse mit auditierbaren, selbst dokumentierenden Workflows zu automatisieren, die Zeit sparen und Fehler beseitigen.

    Die Aktivitäten im Active Directory activity pack dienen der Verwaltung von Benutzeraccounts und dem Zurücksetzen von Benutzerpasswörtern. Die folgenden Aktivitäten decken die häufigsten Anwendungsfälle ab, mit denen Administratoren bei der Verwaltung von Active Directory-Benutzeraccounts konfrontiert sind:
    • AD-Benutzeraccount erstellen
    • AD-Benutzeraccount aktualisieren
    • AD-Benutzeraccount entfernen
    • AD-Benutzeraccount deaktivieren
    • AD abfragen
    • AD-Benutzerpasswort zurücksetzen

    Diese Aktivitäten haben ein gemeinsames Design, sich ergänzende Funktionen und einen gemeinsamen Parametersatz. Sie können einzeln oder zusammen verwendet werden, um konsistente Workflows zum Bereitstellen und Entfernen von Benutzeraccounts zu erstellen.

    Aktualisieren Sie Active Directory mit Orchestration

    Eine Organisation plant, ihre zu erstellen ServiceNow Instanz des einzelnen Datensatzsystems für Anwenderaccount-Daten und möchte Active Directory mit den neuesten Änderungen aktualisieren.

    Warum und wann dieser Vorgang ausgeführt wird

    Die Lösung besteht darin, einen Orchestration-Workflow zu erstellen, der Änderungen aus dem veröffentlicht ServiceNow Anwenderdatensatz bis zum Active Directory, um einen neuen Anwenderdatensatz zu erstellen oder einen vorhandenen Datensatz zu aktualisieren. Dies wird durch die Erstellung eines Orchestration-Workflows erreicht, der Datensätze in Active Directory basierend auf den Daten in erstellen und aktualisieren kann ServiceNow Anwendertabelle [sys_user].

    Hinweis:
    In diesem Beispiel-Workflow wird davon ausgegangen, dass ServiceNow für LDAP konfiguriert und ein LDAP-Server so konfiguriert ist, dass er die neuen Benutzeraccounts akzeptiert. Die Aktivitäten der Active Directory-Benutzerverwaltung sind nicht von LDAP abhängig. Das Vorhandensein von LDAP vereinfacht diesen Beispiel-Workflow jedoch erheblich. Sie müssen die IP-Adresse des Domänencontrollers für den Workflow angeben, indem Sie ihn entweder hart codieren, eine weitere Workflow-Eingabe hinzufügen oder ein Skript verwenden, um sie in der CMDB nachzuschlagen.

    Prozedur

    1. Navigieren zu Alle > Workflow > Workflow-Editoran.
    2. Klicken Sie auf der Registerkarte Workflow auf das +-Symbol, um einen neuen Workflow mit diesen Variablen zu erstellen:
      • Name: AD-Benutzer synchronisieren
      • Tabelle: Global [global]
    3. Klicken Sie auf Absenden.
      Ein grundlegender Workflow mit Anfangs- und Endpunkt wird auf dem Canvas angezeigt.
    4. Klicken Sie auf das Menüsymbol in der linken oberen Ecke des Canvas, und wählen Sie aus dem Kontextmenü Eingaben bearbeiten aus.
      Abbildung : 1. Workflow-Eingaben bearbeiten
      Workflow-Eingaben bearbeiten
    5. Klicken Sie im Formular „Workflow-Eingaben“ in der Datensatzliste Variablen auf Neu, und erstellen Sie eine neue Variable, indem Sie die Felder in der Tabelle verwenden.
      Feld Wert
      Typ Referenz
      Bezeichnung Anwender
      Spaltenname u_user
      Referenzspezifikation > Referenz Benutzer (sys_user)
    6. Klicken Sie auf Absenden.
    7. In Anwenderdefiniert Registerkarte erweitern Anwenderdefinierte Aktivitäten > Active Directoryan.
    8. Ziehen Sie die Aktivität „AD-Objekt aktualisieren“ auf die Verbindungslinie zwischen den Anfangs- und Endpunkten des neuen Workflows.
      Diese Aktion verknüpft die Aktivität automatisch mit dem Endpunkt und öffnet das Eigenschaftsformular der Workflow-Aktivität.
    9. Füllen Sie das Formular aus, indem Sie die Felder in der Tabelle verwenden.
      Feld Wert
      Name Geben Sie einen logischen Namen wie z. B. Benutzerdaten aktualisieren ein.
      Domänencontroller Die ServiceNow-LDAP-Integration fügt einen Verweis auf den LDAP-Server hinzu, mit dem der Account des Benutzers verknüpft ist. Geben Sie die folgende Anweisung ein, um den LDAP-Server zu ermitteln:

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

      Typ Typ des AD-Objekts. In diesem Fall lautet der Typ User, das ist die Standardeinstellung.
      Objektname In diesem Beispiel wird davon ausgegangen, dass der ServiceNow-Benutzername dem Active Directory-sAMAccountName entspricht. Geben Sie Folgendes ein:

      ${workflow.inputs.u_user.user_name}

      Objektdaten Aktualisiert das Konto des Benutzers in Active Directory, wenn der Benutzer vorhanden ist. In diesem Beispiel wird der Titel des Benutzers aktualisiert:

      {"title" : "QA"}

    10. Klicken Sie auf Absenden.
      Der Workflow sieht folgendermaßen aus:
      Abbildung : 2. AD-Benutzer aktualisieren
      AD-Anwender wird aktualisiert
    11. Verbinden Sie beide Aktivitätsergebnisse (Erfolg und Fehler) mit dem Endpunkt.
      An diesem Punkt übernimmt der Workflow einen ServiceNow-Benutzerdatensatz als Eingabe und aktualisiert den Vornamen, Nachnamen und Titel des entsprechenden Active Directory-Accounts. Wenn der Account in Active Directory nicht vorhanden ist, schlägt der Workflow fehl.
      Hinweis:
      In einem normalen Workflow ist eine alternative Aktion bei einem Fehler wünschenswert. Sie können beispielsweise eine senden E-Mail- und SMS-Benachrichtigungen Wenn der Workflow den Datensatz nicht aktualisieren konnte.
    12. Um zu verhindern, dass der Workflow fehlschlägt, fügen Sie der Verbindungslinie zwischen „Anfang“ und der Aktivität „AD-Objekt aktualisieren“ die Aktivität „AD-Objekt erstellen“ hinzu.
    13. Füllen Sie das Eigenschaftenformular für die Workflow-Aktivität aus, indem Sie die Felder in der Tabelle verwenden.
      Feld Wert
      Name Geben Sie einen logischen Namen wie z. B. Benutzerdaten erstellen ein.
      Domänencontroller Dieselbe URL wie bei der Aktualisieren-Aktivität: ${workflow.inputs.u_user.ldap_server.server_url}
      OE Die Organisationseinheit, zu der dieses Objekt gehört. Für dieses Beispiel können Sie OU=HQ,OU=Managed Objects eingeben.
      Objektname Derselbe Name wie bei der Aktualisieren-Aktivität: ${workflow.inputs.u_user.user_name}
      Objektdaten Erstellt einen Account nur mit dem Benutzernamen. Für dieses Beispiel können Sie {"givenName" : "${workflow.inputs.u_user.first_name}", "SN" : "${workflow.inputs.u_user.last_name}" } eingeben.
    14. Klicken Sie auf Absenden.
    15. Verbinden Sie das Ergebnis „Fehler“ der Aktivität „AD-Objekt erstellen“ mit „Ende“.
      In diesem Beispiel werden Fehler ignoriert. Der Workflow sieht jetzt so aus:
      Abbildung : 3. AD-Benutzer erstellen
      AD-Benutzer erstellen

      Mit diesem Verfahren wird ein einfacher Workflow erstellt, der einen Active Directory-Account nur mit einem Benutzernamen erstellt. Der Workflow aktualisiert dann diesen Account mit zusätzlichen Informationen aus der ServiceNow-Tabelle „Benutzer“ [sys_user]. Die Aktivität „AD-Objekt erstellen“ soll jedoch nicht ausgeführt werden, wenn der Benutzeraccount bereits vorhanden ist. Der Workflow muss Active Directory nach übereinstimmenden Benutzerdatensätzen abfragen und dann den Workflow basierend auf den Ergebnissen der Abfrage verzweigen. Wenn bereits ein Account vorhanden ist, sollte der Workflow den Account aktualisieren. Wenn der Account nicht vorhanden ist, sollte der Workflow den Account in Active Directory erstellen.

    16. Ziehen Sie die Aktivität „AD abfragen“ per Drag-and-Drop auf den Übergang zwischen „AD-Objekt starten“ und „AD-Objekt erstellen“.
    17. Füllen Sie das Eigenschaftenformular für die Workflow-Aktivität aus, indem Sie die Felder in der Tabelle verwenden.
      Feld Definition
      Name Geben Sie einen logischen Namen wie z. B. Bestehenden Account suchen ein.
      Domänencontroller ${workflow.inputs.u_user.ldap_server.server_url}
      Eigenschaften Eine kommagetrennte Liste der zurückgegebenen Active Directory-Eigenschaften. Zum Beispiel: givenName, SN, title. Wenn das Parameterfeld leer ist, werden alle Eigenschaften zurückgegeben. Lassen Sie in diesem Workflow das Feld leer.
      Suchfilter Eine LDAP-Filterzeichenfolge, die die Suchparameter definiert. Verwenden Sie beliebige gültige LDAP-Filterkriterien. Um Benutzeraccounts zu suchen, die mit dem Eingabedatensatz übereinstimmen, verwenden Sie:

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

    18. Klicken Sie auf Absenden.
    19. Verbinden Sie das Ergebnis „Fehler“ der Abfrageaktivität mit dem Endpunkt.
      Denken Sie daran, dass Fehler in diesem Workflow ignoriert werden.
    20. Verbinden Sie das Ergebnis „Erfolg“ der Abfrageaktivität mit der Aktivität „AD-Objekt aktualisieren“.
      Der Workflow sieht jetzt so aus:
      Abbildung : 4. AD nach Benutzeraccounts abfragen
      AD nach Benutzeraccounts abfragen

      Die Aktivität „Abfrage-AD“ gibt die Ergebnisse als JSON-Zeichenfolge im Datenbus des Workflows zurück. Diese JSON-Zeichenfolge ist immer ein Objekt-Array. Jedes Objekt entspricht einem Active Directory-Eintrag, der mit der Abfrage übereinstimmt. Der Beispiel-Workflow sollte immer verzweigen, ob dieses Array leer ist oder nicht.

    21. Ziehen Sie eine Standard-Falls-Aktivität aus dem Ordner Bedingungen der Registerkarte Zentral, und legen Sie sie auf der Verbindungslinie zwischen „Abfrage-AD“ und „AD-Objekt aktualisieren“ ab.
    22. Füllen Sie das Eigenschaftenformular für die Workflow-Aktivität aus, indem Sie die Felder in der Tabelle verwenden.
      Feld Wert
      Name Geben Sie einen logischen Namen wie z. B. Account vorhanden ein.
      Erweitert Aktivieren Sie dieses Kontrollkästchen, um zu öffnen Skript Feld.
      Skript Damit die Falls-Aktivität ordnungsgemäß funktioniert, müssen Sie in der Antwortvariable (var) yes oder no entsprechend den Ergebnissen „Ja“ und „Nein“ der Abfrageaktivität zurückgeben. Zeile 1 konvertiert die Abfrage-AD-Ergebnisse aus einer JSON-Zeichenfolge in ein JavaScript-Array mit dem Namen queryResults. Zeile 2 prüft die Länge dieses Arrays. Wenn das Array größer als 0 ist, wurde eine Übereinstimmung mit dem Account gefunden, und die Antwort auf „yes“ gesetzt. Ansonsten lautet die Antwort „no“.

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

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

      Hinweis:
      Der Ausdruck data.get(5) in diesem Skript ermittelt die Abfrage-AD-Ausgabe im Datenbus anhand der Reihenfolgennummer, da dies die fünfte Aktivität war, die dem Workflow hinzugefügt wurde.
      Abbildung : 5. Abfrage-AD-Ergebnisse im Datenbus
      Abfrage-AD-Ergebnisse im Datenbus
    23. Klicken Sie auf Absenden.
    24. Erstellen Sie auf dem Canvas einen Übergang vom Ergebnis „Yes“ der Aktivität „Falls“ zur Aktivität „AD-Objekt aktualisieren“.
    25. Erstellen Sie einen Übergang vom Ergebnis „No“ Aktivität „Falls“ zur Aktivität „AD-Objekt erstellen“.
      Dies ist der letzte Schritt. Dieser Workflow fragt Active Directory ab, um festzustellen, ob bereits ein Account vorhanden ist. Wenn ein Account vorhanden ist, aktualisiert der Workflow diesen Account. Wenn kein Account vorhanden ist, erstellt der Workflow den Account und aktualisiert dann Active Directory mit dem konfigurierten Benutzerdatensatz.
      Abbildung : 6. Bedingte Pfade erstellen
      Bedingte Pfade erstellen