Orchestrator
2023.10
False
Orchestrator-Anleitung
Last updated 6. Juni 2024

Wechseln zwischen Active Directory-Adaptern

Der UiPath® Identity Server bietet Unterstützung für zwei Active Directory-Adapter: ad und ldapad.
  • ad-Adapter: Legacy-Adapter, der nur in eigenständigen Bereitstellungen funktioniert. Der ad-Adapter läuft nur unter Windows, unterstützt externe Vertrauensdomänen und NTLM und bietet Unterstützung für Clients, die nicht in die Domäne eingebunden sind, um sich zu authentifizieren.
  • ldapad-Adapter: Der Adapter wurde in 2021.10 eingeführt. Der ldapad-Adapter funktioniert sowohl in eigenständigen als auch in Automation Suite-Bereitstellungen. Er unterstützt keine externen Vertrauensdomänen und NTLM für Clients, die nicht in die Domäne eingebunden sind, um sich zu authentifizieren.

Bereitstellung

ad Adapter
ldapad Adapter

Eigenständige Instanz

Wird unterstützt

Hinweis:

Unterstützt externe Vertrauensdomänen und NTLM-Unterstützung für Clients, die nicht in die Domäne eingebunden sind, um sich zu authentifizieren.

Wird unterstützt

Automation Suite

Nicht unterstützt

Wird unterstützt

Hinweis:
Alle Bereitstellungen vor 2021.10 mit aktivierter Active Directory-Integration behalten den ad-Adapter nach dem Upgrade bei. Alle anderen Bereitstellungen erhalten standardmäßig den ldapad -Adapter, wenn die Active Directory-Integration aktiviert ist.

Überprüfen des Active Directory-Adaptertyps

Um den Adaptertyp zu bestimmen, kann eine SQL-Abfrage ausgeführt werden, die den Typ des Adapters in der Tabelle [identity].[DirectoryConnections] überprüft.
SELECT dc.* from [identity].[DirectoryConnections] dc
JOIN [identity].[Partitions] p ON p.[Id]=dc.[PartitionId]
WHERE p.[GlobalId]='FEB0DD79-85B6-483B-B297-0E49A1AA5B7D' AND dc.[IsDeleted]=0SELECT dc.* from [identity].[DirectoryConnections] dc
JOIN [identity].[Partitions] p ON p.[Id]=dc.[PartitionId]
WHERE p.[GlobalId]='FEB0DD79-85B6-483B-B297-0E49A1AA5B7D' AND dc.[IsDeleted]=0
Bei [Type]=ad wird der ad-Adapter verwendet. Bei [Type]='ldapad' wird der ldapad-Adapter verwendet.

Wechsel von ldapad zu ad

Hinweis:

Dies wird nur in eigenständigen Bereitstellungen unterstützt.

Gehen Sie wie folgt vor, um von ldapad zu ad zu wechseln:
  1. Überprüfen Sie, ob der ldapad-Adapter aktiviert ist, indem Sie sicherstellen, dass die folgende Abfrage eine Zeile zurückgibt.
    SELECT dc.* from [identity].[DirectoryConnections] dc JOIN [identity].[Partitions] p ON p.[Id]=dc.[PartitionId] WHERE p.[GlobalId]='FEB0DD79-85B6-483B-B297-0E49A1AA5B7D' AND dc.[Type]='ldapad' AND dc.[IsDeleted]=0SELECT dc.* from [identity].[DirectoryConnections] dc JOIN [identity].[Partitions] p ON p.[Id]=dc.[PartitionId] WHERE p.[GlobalId]='FEB0DD79-85B6-483B-B297-0E49A1AA5B7D' AND dc.[Type]='ldapad' AND dc.[IsDeleted]=0
  2. Stellen Sie eine Verbindung mit der Orchestrator/Identity-Datenbank her und führen Sie das folgende Skript aus. Achten Sie darauf, FQDN-OF-DOMAIN durch den vollqualifizierten Namen der Standard-/Hauptdomäne zu ersetzen. Wenn die Active Directory-Integration im UiPath-Hostportal aktiviert ist, aktualisiert das folgende SQL-Skript die DirectoryId der Active Directory-Benutzer und -Gruppen, löscht ldapad-Verzeichnisverbindungen und erstellt ad-Verzeichnisverbindungen.
    -- convert users
    
    IF OBJECT_ID('tempdb..#tmp_ldap_users') IS NOT NULL
    DROP TABLE #tmp_ldap_users
    
    SELECT [Id], [MasterPartitionId], CONCAT('ad', SUBSTRING([DirectoryId], 7, 256)) AS [DirectoryId] INTO #tmp_ldap_users
    FROM [identity].[AspNetUsers]
    WHERE [DirectoryId] LIKE 'ldapad|%' AND [IsDeleted]=0
    
    --SELECT * FROM #tmp_ldap_users
    
    DELETE tmp
    FROM #tmp_ldap_users tmp
    JOIN [identity].[AspNetUsers] u ON u.[MasterPartitionId]=tmp.[MasterPartitionId] AND u.[DirectoryId]=tmp.[DirectoryId]
    
    --SELECT * FROM #tmp_ldap_users
    
    UPDATE u
    SET u.[DirectoryId]=tmp.[DirectoryId]
    FROM [identity].[AspNetUsers] u
    JOIN #tmp_ldap_users tmp on tmp.[Id]=u.[Id]
    
    -- create 'ad' directory connection
    
    DECLARE @HostPartitionId int		-- host partition id
    SELECT @HostPartitionId = [Id] FROM [identity].[Partitions] WHERE [GlobalId]='FEB0DD79-85B6-483B-B297-0E49A1AA5B7D'
    
    UPDATE [identity].[DirectoryConnections] SET [IsDeleted]=1, [DeletionTime]=GETUTCDATE() WHERE [PartitionId]=@HostPartitionId AND [Type]='ldapad' and [IsDeleted]=0
    
    SELECT * FROM [identity].[DirectoryConnections] WHERE [PartitionId]=@HostPartitionId AND [Type]='ad' and [IsDeleted]=0
    IF @@ROWCOUNT=0
        INSERT INTO [identity].[DirectoryConnections] ([PartitionId], [Type], [CreationTime], [Configuration], [IsDeleted])
    	VALUES (@HostPartitionId, 'ad', GETUTCDATE(), '{ "Domain": "<FQDN-OF-DOMAIN>" }', 0)
    
    
    SELECT * FROM [identity].[DirectoryConnections] WHERE [PartitionId]=@HostPartitionId AND [IsDeleted]=0-- convert users
    
    IF OBJECT_ID('tempdb..#tmp_ldap_users') IS NOT NULL
    DROP TABLE #tmp_ldap_users
    
    SELECT [Id], [MasterPartitionId], CONCAT('ad', SUBSTRING([DirectoryId], 7, 256)) AS [DirectoryId] INTO #tmp_ldap_users
    FROM [identity].[AspNetUsers]
    WHERE [DirectoryId] LIKE 'ldapad|%' AND [IsDeleted]=0
    
    --SELECT * FROM #tmp_ldap_users
    
    DELETE tmp
    FROM #tmp_ldap_users tmp
    JOIN [identity].[AspNetUsers] u ON u.[MasterPartitionId]=tmp.[MasterPartitionId] AND u.[DirectoryId]=tmp.[DirectoryId]
    
    --SELECT * FROM #tmp_ldap_users
    
    UPDATE u
    SET u.[DirectoryId]=tmp.[DirectoryId]
    FROM [identity].[AspNetUsers] u
    JOIN #tmp_ldap_users tmp on tmp.[Id]=u.[Id]
    
    -- create 'ad' directory connection
    
    DECLARE @HostPartitionId int		-- host partition id
    SELECT @HostPartitionId = [Id] FROM [identity].[Partitions] WHERE [GlobalId]='FEB0DD79-85B6-483B-B297-0E49A1AA5B7D'
    
    UPDATE [identity].[DirectoryConnections] SET [IsDeleted]=1, [DeletionTime]=GETUTCDATE() WHERE [PartitionId]=@HostPartitionId AND [Type]='ldapad' and [IsDeleted]=0
    
    SELECT * FROM [identity].[DirectoryConnections] WHERE [PartitionId]=@HostPartitionId AND [Type]='ad' and [IsDeleted]=0
    IF @@ROWCOUNT=0
        INSERT INTO [identity].[DirectoryConnections] ([PartitionId], [Type], [CreationTime], [Configuration], [IsDeleted])
    	VALUES (@HostPartitionId, 'ad', GETUTCDATE(), '{ "Domain": "<FQDN-OF-DOMAIN>" }', 0)
    
    
    SELECT * FROM [identity].[DirectoryConnections] WHERE [PartitionId]=@HostPartitionId AND [IsDeleted]=0
    
  3. Starten Sie den Identity-Anwendungspool neu, indem Sie iisreset über eine erweiterte Eingabeaufforderung ausführen.

Wechsel von ad zu ldapad

  1. Überprüfen Sie, ob der ad-Adapter aktiviert ist, indem Sie sicherstellen, dass die folgende Abfrage eine Zeile zurückgibt.
    SELECT dc.* from [identity].[DirectoryConnections] dc
    JOIN [identity].[Partitions] p ON p.[Id]=dc.[PartitionId]
    WHERE p.[GlobalId]='FEB0DD79-85B6-483B-B297-0E49A1AA5B7D' AND dc.[Type]='ad' AND dc.[IsDeleted]=0SELECT dc.* from [identity].[DirectoryConnections] dc
    JOIN [identity].[Partitions] p ON p.[Id]=dc.[PartitionId]
    WHERE p.[GlobalId]='FEB0DD79-85B6-483B-B297-0E49A1AA5B7D' AND dc.[Type]='ad' AND dc.[IsDeleted]=0
  2. Deaktivieren Sie die Active Directory-Integration im Hostportal.

  3. Reaktivieren Sie die Active Directory-Integration im Hostportal.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
UiPath Logo weiß
Vertrauen und Sicherheit
© 2005-2024 UiPath. All rights reserved.