automation-suite
2024.10
true
- Démarrage
- Administration de l'hôte
- Organisations
- Locataires et services
- Authentification et sécurité
- Licences
- Comptes et rôles
- Applications externes
- Notifications
- Journalisation
- Résolution des problèmes
Basculer entre les adaptateurs Active Directory
Guide d'administration d'Automation Suite
Last updated 11 nov. 2024
Basculer entre les adaptateurs Active Directory
UiPath® Identity Server prend en charge deux adaptateurs Active Directory :
ad
et ldapad
.
-
Adaptateur
ad
: adaptateur hérité fonctionnement uniquement avec les déploiements autonomes. L'adaptateurad
ne fonctionne que sous Windows et prend en charge les domaines d'approbation externes et NTLM, en proposant une prise en charge de l'authentification des clients non rattachés au domaine. -
Adaptateur
ldapad
: adaptateur introduit en 2021.10. L'adaptateurldapad
fonctionne à la fois dans les déploiements autonomes et Automation Suite ; il ne prend pas en charge les domaines d'approbation externes ni NTLM pour l'authentification des clients non rattachés au domaine.
Déploiement |
Adaptateur
ad
|
Adaptateur
ldapad
|
---|---|---|
Automation Suite |
Non pris en charge |
Pris en charge |
Remarque :
Tous les déploiements antérieurs à la version 2021.10 avec l'intégration Active Directory activée conserveront l'adaptateur
ad
après la mise à niveau. Tous les autres déploiements se verront attribuer par défaut l'adaptateur ldapad
lorsque l'intégration d'Active Directory est activée.
Afin de déterminer le type d'adaptateur, une requête SQL peut être exécutée pour vérifier le type d'adaptateur du tableau Si
[identity].[DirectoryConnections]
.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]=0
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]=0
[Type]=ad
, l'adaptateur ad
est utilisé. Si [Type]='ldapad'
, c'est l'adaptateur ldapad
qui est utilisé.
Remarque :
Cette action est prise en charge dans les déploiements autonomes uniquement.
Pour passer de
ldapad
à ad
, procédez comme suit :
-
Vérifiez que l'adaptateur
ldapad
est activé en vous assurant que la requête ci-dessous renvoie une ligne.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]=0
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]=0 -
Connectez-vous à la base de données Orchestrator/Identity et exécutez le script ci-dessous, en veillant à remplacer
FQDN-OF-DOMAIN
par le nom complet du domaine par défaut/principal. Lorsque l’intégration d’Active Directory est activée dans le portail hôte UiPath, le script SQL suivant met à jour leDirectoryId
des utilisateurs et groupes Active Directory, supprime les connexions de répertoireldapad
et crée des connexions de répertoiread
.-- 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 -
Redémarrez le pool d'applications Identity en exécutant
iisreset
à partir d'une invite de commandes élevée.
-
Vérifiez que l'adaptateur
ad
est activé en vous assurant que la requête ci-dessous renvoie une ligne.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]=0
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]=0 -
Désactivez l’intégration d’Active Directory dans le portail hôte.
-
Réactivez l’intégration d’Active Directory dans le portail hôte.