Beispiel für Active Directory-Automatisierung

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

    Die Aktivitäten in Active Directory-AktivitätspaketDienen zur Verwaltung von Anwenderaccounts und zum Zurücksetzen von Anwenderpasswörtern. Die folgenden Aktivitäten decken die häufigsten Anwendungsfälle ab, die Administratoren bei der Verwaltung von Active Directory-Anwenderaccounts konsultieren:
    • AD-Anwenderaccount erstellen
    • AD-Anwenderaccount aktualisieren
    • AD-Anwenderaccount entfernen
    • AD-Anwenderkonto deaktivieren
    • Abfrage-AD
    • AD-Anwenderpasswort zurücksetzen.

    Diese Aktivitäten haben ein gemeinsames Design, haben ergänzende Funktionen und teilen einen gemeinsamen Satz von Parametern. Sie können einzeln oder zusammen verwendet werden, um konsistente Workflows für die Bereitstellung und Debereitstellung von Anwenderaccounts zu erstellen.

    Aktualisieren Sie Active Directory mit Orchestration

    Eine Organisation plant, ihre zu erstellen ServiceNowInstanz des einzelnen Datensatzsystems für Anwenderkontodaten 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 veröffentlicht ServiceNowAnwenderdatensatz bis zum Active Directory, um einen neuen Anwenderdatensatz zu erstellen oder einen vorhandenen Datensatz zu aktualisieren. Dies wird erreicht, indem ein Orchestration-Workflow erstellt wird, der Datensätze in Active Directory basierend auf den Daten in erstellen und aktualisieren kann ServiceNowAnwendertabelle [sys_user].

    Hinweis:
    In diesem Beispiel-Workflow wird davon ausgegangen ServiceNowIst für LDAP konfiguriert, und ein LDAP-Server ist so konfiguriert, dass die neuen Anwenderaccounts akzeptiert werden. Die Active Directory-Anwenderverwaltungsaktivitäten sind nicht von LDAP abhängig, aber das Vorhandensein von LDAP erleichtert diesen Beispiel-Workflow erheblich. Sie müssen die IP-Adresse des Domänencontrollers für den Workflow angeben, indem Sie ihn entweder hartcodieren, eine weitere Workflow-Eingabe hinzufügen oder ein Skript verwenden, um sie in der CMDB zu suchen.

    Prozedur

    1. Navigieren zu Alle > Workflow > Workflow-Editoran.
    2. In Workflow Klicken Sie auf die Registerkarte + Symbol zum Erstellen eines neuen Workflows mit diesen Variablen:
      • Name : AD-Anwender synchronisieren
      • Tabelle : Global [global]
    3. Klicken Sie auf Absenden.
      Ein Standard-Workflow mit einem Anfangs- und Endpunkt wird auf dem Canvas angezeigt.
    4. Klicken Sie auf das Menüsymbol in der oberen linken Ecke des Canvas, und wählen Sie aus Eingaben Bearbeiten Aus dem Kontextmenü.
      Abbildung : 1. Workflow-Eingaben werden bearbeitet
      Workflow-Eingaben werden bearbeitet
    5. Klicken Sie im Formular Workflow-Eingaben auf Neu In Variablen Datensatzliste und erstellen Sie eine neue Variable mithilfe der Felder in der Tabelle.
      Feld Wert
      Typ Referenz
      Bezeichnung Anwender
      Spaltenname u_user
      Referenzspezifikation > Referenz Anwender (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“ per Drag-and-Drop auf die Übergangslinie zwischen den Anfangs- und Endpunkten des neuen Workflows.
      Diese Aktion verknüpft die Aktivität automatisch mit dem Endpunkt und öffnet das Eigenschaftsformular „Workflow-Aktivität“.
    9. Füllen Sie das Formular mithilfe der Felder in der Tabelle aus.
      Feld Wert
      Name Geben Sie einen logischen Namen wie ein Aktualisieren Sie Anwenderdaten .
      Domänen-Controller Die ServiceNowDie LDAP-Integration fügt einen Verweis auf den LDAP-Server hinzu, mit dem der Account des Anwenders verknüpft ist. Geben Sie die folgende Anweisung ein, um den LDAP-Server zu identifizieren:

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

      Typ Typ des AD-Objekts. In diesem Fall ist der Typ Anwender , Was der Standard ist.
      Objektname In diesem Beispiel wird davon ausgegangen, dass ServiceNowAnwendername stimmt mit dem Active Directory-sAMAccountName überein. Geben Sie Folgendes ein:

      ${workflow.inputs.u_user.user_name}

      Objektdaten Aktualisiert den Account des Anwenders in Active Directory, wenn der Anwender vorhanden ist. In diesem Beispiel wird der Titel des Anwenders aktualisiert:

      {"title": "QA"}

    10. Klicken Sie auf Absenden.
      Der Workflow sieht folgendermaßen aus:
      Abbildung : 2. Ein AD-Anwender wird aktualisiert
      AD-Anwender wird aktualisiert
    11. Hängen Sie beide Aktivitätsergebnisse (Erfolg und Fehler) an den Endpunkt an.
      An diesem Punkt nimmt der Workflow einen an ServiceNowAnwenderdatensatz als Eingabe und aktualisiert den Vornamen, Nachnamen und Titel des entsprechenden Active Directory-Accounts. Wenn der Account nicht in Active Directory vorhanden ist, schlägt der Workflow fehl.
      Hinweis:
      In einem normalen Workflow ist bei einem Fehler eine Art alternativer Aktion 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 den Übergangszeilen zwischen Anfang und Aktivität „AD-Objekt aktualisieren“ die Aktivität „AD-Objekt erstellen“ hinzu.
    13. Füllen Sie das Eigenschaftsformular „Workflow-Aktivität“ mithilfe der Felder in der Tabelle aus.
      Feld Wert
      Name Geben Sie einen logischen Namen wie ein Erstellen Sie Anwenderdaten .
      Domänen-Controller Identisch mit für die Aktualisierungsaktivität. ${workflow.inputs.u_user.ldap_server.server_url}
      Oe Die Organisationseinheit, zu der dieses Objekt gehört. Für die Zwecke dieses Beispiels können Sie eingeben OU=HQ,OU=verwaltete Objekte
      Objektname Identisch mit für die Aktualisierungsaktivität. ${workflow.inputs.u_user.user_name}
      Objektdaten Erstellt einen Account mit nur dem Anwendernamen. Für die Zwecke dieses Beispiels können Sie eingeben {"givenName" : "${workflow.inputs.u_user.first_name}", "SN" : "${workflow.inputs.u_user.last_name}" }
    14. Klicken Sie auf Absenden.
    15. Verbinden Sie das Fehlerergebnis der Aktivität „AD-Objekt erstellen“, um zu beenden.
      In diesem Beispiel ignorieren wir Fehler. Der Workflow sieht jetzt wie folgt aus:
      Abbildung : 3. Erstellen eines AD-Anwenders
      Erstellen eines AD-Anwenders

      Mit diesem Verfahren wird ein einfacher Workflow erstellt, der ein Active Directory-Konto mit bloßen Knochen erstellt, das nur aus einem Anwendernamen besteht. Der Workflow aktualisiert dann diesen Account mit zusätzlichen Informationen, die von bereitgestellt werden ServiceNowAnwendertabelle [sys_user]. Die Aktivität „AD-Objekt erstellen“ soll jedoch nicht ausgeführt werden, wenn der Anwenderaccount bereits vorhanden ist. Der Workflow muss Active Directory nach übereinstimmenden Anwenderdatensä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-Abfrage“ per Drag-and-Drop auf den Übergang zwischen „AD-Objekt starten“ und „AD-Objekt erstellen“.
    17. Füllen Sie das Eigenschaftsformular „Workflow-Aktivität“ mithilfe der Felder in der Tabelle aus.
      Feld Definition
      Name Geben Sie einen logischen Namen wie ein Suchen Sie nach einem vorhandenen Account .
      Domänen-Controller ${workflow.inputs.u_user.ldap_server.server_url}
      Eigenschaften Eine kommagetrennte Liste der zurückzugebenden Active Directory-Eigenschaften. Beispiel: GivenName, SN, title. Wenn das Parameterfeld leer ist, werden alle Eigenschaften zurückgegeben. In diesem Workflow lassen wir das Feld leer.
      Suchfilter Eine LDAP-Filterzeichenfolge, die die Suchparameter definiert. Verwenden Sie gültige LDAP-Filterkriterien. Um Anwenderaccounts zu finden, die dem Eingabedatensatz entsprechen, verwenden wir:

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

    18. Klicken Sie auf Absenden.
    19. Verbinden Sie das Fehlerergebnis für die Abfrageaktivität mit dem Endpunkt.
      Denken Sie daran, dass Fehler in diesem Workflow ignoriert werden.
    20. Verbinden Sie das Erfolgsergebnis der Abfrageaktivität mit der Aktivität „AD-Objekt aktualisieren“.
      Der Workflow sieht jetzt wie folgt aus:
      Abbildung : 4. AD wird nach Anwenderaccounts abgefragt
      AD wird nach Anwenderaccounts abgefragt

      Die Aktivität „Abfrage-AD“ gibt ihre Ergebnisse als JSON-Zeichenfolge im Workflow zurück Datenbus . Diese JSON-Zeichenfolge ist immer ein Array von Objekten. Jedes Objekt entspricht einem Active Directory-Eintrag, der der Abfrage entspricht. Unser Workflow sollte verzweigt werden, unabhängig davon, ob dieses Array leer ist oder nicht.

    21. Ziehen Sie einen Standard Wenn Aktivität von Bedingungen Ordner in Kern Registerkarte und legen Sie es auf den Übergang zwischen „AD abfragen“ und „AD-Objekt aktualisieren“ ab.
    22. Füllen Sie das Formular „Eigenschaften der Workflow-Aktivität“ mithilfe der Felder in der Tabelle aus.
      Feld Wert
      Name Geben Sie einen logischen Namen wie ein Account ist vorhanden .
      Erweitert Aktivieren Sie dieses Kontrollkästchen, um zu öffnen Skript Feld.
      Skript Damit die Aktivität „wenn“ ordnungsgemäß funktioniert, müssen wir einen zurückgeben ja Oder Nein In der Antwortvariablen (VAR), die den Ergebnissen „Ja“ und „Nein“ der Abfrageaktivität entspricht. Zeile 1 konvertiert die Abfrage-AD-Ergebnisse aus einer JSON-Zeichenfolge in ein Javascript-Array mit der Bezeichnung „queryResults“. Zeile 2 überprüft die Länge dieses Arrays. Wenn das Array größer als 0 ist, wurde eine Übereinstimmung mit dem Account gefunden, und wir legen unsere Antwort auf „Ja“ fest. Andernfalls lautet die Antwort „Nein“

      VAR queryResults=New JSON().decode(Data.get(5).output);

      Antwort = ( queryResults.length>0 ? „ja“: „Nein“ );

      Hinweis:
      Der Ausdruck Daten.Get(5) In diesem Skript wird die Abfrage-AD-Ausgabe im Datenbus anhand der Ordnungsnummer identifiziert, da es sich um die fünfte Aktivität handelte, die dem Workflow hinzugefügt wurde.
      Abbildung : 5. Abfrage von AD-Ausgaben im Datenbus
      Abfrage von AD-Ausgaben im Datenbus
    23. Klicken Sie auf Absenden.
    24. Erstellen Sie im Canvas einen Übergang vom Ergebnis „Ja“ der Aktivität „wenn“ zur Aktivität „AD-Objekt aktualisieren“.
    25. Erstellen Sie einen Übergang von der Aktivität „kein Ergebnis der wenn“ zur Aktivität „AD-Objekt erstellen“.
      Dies ist der letzte Schritt. Dieser Workflow fragt Active Directory ab, um zu bestimmen, 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 das Active Directory mit dem konfigurierten Anwenderdatensatz.
      Abbildung : 6. Bedingte Pfade werden erstellt
      Bedingte Pfade werden erstellt