![](https://docs.uipath.com/_next/static/media/grid.05ebd128.png?w=3840&%3Bq=100)
2023.4
Date de publication : 24 avril 2023
Nous proposons désormais un emplacement centralisé pour gérer les balises que vous utilisez dans l'ensemble de nos services. La page Balises (Tags), qui porte bien son nom, est disponible dans la section d'administration de votre organisation, au niveau du locataire. Elle vous permet d'ajouter, de modifier et de supprimer des balises à partir d'un seul emplacement, éliminant ainsi le besoin d'accéder à plusieurs reprises à des objets individuels à des fins de balisage.
Vous pouvez désormais bénéficier d'une couche supplémentaire d'efficacité lors de la résolution des problèmes liés aux tâches, Cela est dû à notre nouvelle fonctionnalité enregistrement vidéo, qui est disponible au niveau du processus pour toutes les exécutions non assistées (unattended) (actuellement uniquement disponible en tant qu'aperçu).
You can choose to either record all jobs or only those that are failed, and you have access to these recordings for up to 7 days.
La version de cette fonctionnalité modifie l'option de capture d'écran existante : elle est désormais disponible pour tous les utilisateurs, et pas seulement pour ceux qui utilisent le forfait Enterprise.
En 2021, nous avons annoncé l'abandon des dossiers classiques.
En avril 2022, nous avons annoncé leur suppression.
En octobre 2022, nous avons lancé un assistant qui aide à la migration d'objets depuis un dossier classique vers des dossiers modernes, tout en conservant les structures et hiérarchies existantes.
Nous poursuivons maintenant ce processus en désactivant les exécutions dans les dossiers classiques, ainsi que quelques autres modifications. Il est donc plus important que jamais de migrer vos dossiers classiques vers des dossiers modernes, afin de garantir un service ininterrompu.
-orchestratorUrl
obligatoire a été ajouté au script MigrateTo-ResourceCatalog.ps1
.
MigrateTo-ResourceCatalog.ps1
doit maintenant être exécuté lors de la mise à niveau d'Orchestrator et du service de catalogue de ressources.
Les administrateurs peuvent désormais configurer des autorisations de locataire ou de dossier affinées pour les applications externes en les attribuant à des dossiers ou à des locataires dans Orchestrator. Une application externe obtient les autorisations requises pour effectuer des opérations particulières dans un dossier ou un locataire via un ou plusieurs rôles.
L'application obtient l'union de toutes les étendues définies pour elle au niveau de l'organisation et dans Orchestrator. La suppression de l'une de ces étendues laisse l'application avec des niveaux d'accès en fonction de l'étendue restante.
Vous pouvez également utiliser des groupes pour simplifier la gestion des applications externes, car les groupes vous permettent de gérer ensemble des objets ayant des besoins similaires.
Nous avons introduit deux nouvelles options qui permettent aux Administrators Orchestrator de contrôler l'arrêt de l'exploration des espaces de travail personnels :
-
Arrêter automatiquement d'explorer les espaces de travail personnels après (Automatically stop exploring Personal Workspaces after) : le processus d'exploration des espaces de travail personnels peut désormais être arrêté automatiquement après une durée configurable.
-
Arrêter toutes les sessions actives pour explorer les espaces de travail personnels (Stop all active sessions for exploring Personal Workspaces) : permet aux Orchestrator Administrators d'arrêter toutes les sessions d'exploration d'espaces de travail personnel actives peuvent être arrêtées.
Les deux options sont disponibles via les paramètres du locataire (onglet Général (General) > section Espaces de travail personnels (Personal Workspaces)).
Vous pouvez désormais stocker vos informations d'identification Orchestrator dans AWS Secrets Manager. Pour en savoir plus sur le magasin d'informations d'identification récemment ajouté, consultez la section Intégration d'AWS Secrets Manager (AWS Secrets Manager integration).
Vous pouvez désormais ajouter une couche de sécurité supplémentaire à vos magasins d’identifiants déjà sécurisés. À cette fin, nous avons créé l'Orchestrator Credentials Proxy, qui vous permet d'éviter de créer une connexion directe entre Orchestrator et le magasin d'informations d'identification de votre choix, mais de les connecter via un proxy.
Features.CredentialStoreHost.Enabled
dans le fichier UiPath.Orchestrator.dll.config
, qui est false
par défaut.
Plugins.SecureStores.CyberArkCCP.KeyStorageFlags
a été ajouté au fichier de configuration d'Orchestrator, vous permettant de choisir où stocker et comment importer la clé privée du certificat client configuré pour un magasin d'informations d'identification CyberArk CCP. Cela permet d'éviter toute restriction de lecture/écriture ou tout problème lié aux droits d'accès.
Les applications utilisées par les packages Studio sont désormais récupérées par Orchestrator. Vous pouvez donc les voir répertoriées aux endroits suivants :
-
Dans la section Applications de la fenêtre de processus du package sous-jacent.
-
Dans la fenêtre Afficher les notes de publication (Show release notes) pour chaque version de package.
We have switched to a new date and time formatting library, aiming to provide more unity around formats across locales. While this change has no impact on your experience whatsoever, you might notice the following improvements as compared to our previous library:
-
Date and time formats are now consistent across all locales, i.e. the same digit/letter combination is used throughout. For example, the English
2/24/2023, 4:48:25 PM
is displayed as2023/2/24 16:48:25
in Japanese, whereas you would see2022年7月5日 09時20分37秒
before this change. -
The elapsed time in seconds is now displayed as a precise number rather than an estimate, i.e.
10 seconds ago
instead ofa few seconds ago
.
Nous avons ajusté Orchestrator de façon à identifier les activités de déclencheurs d'événement en tant qu'exigences de package au moment de la création de processus. Associez-les à une connexion Integration Service et effectuez d'autres configurations pour répondre aux besoins de votre entreprise, le tout au profit des automatisations déclenchées.
Désencombrez votre base de données Orchestrator et définissez une politique de rétention qui supprime définitivement les anciens éléments de file d'attente ou les déplace vers un stockage désigné. Si vous avez besoin de plus de temps pour prendre une décision, il existe également la possibilité de conserver les données de vos éléments de file d'attente dans votre base de données indéfiniment, ce qui est la politique appliquée par défaut. Ainsi, vous libérez la base de données de manière organisée et votre système Orchestrator fonctionne mieux.
Découvrez les trucs et astuces en matière de stratégie de rétention sur notre page de documentation.
Plus rien ne vous empêche d'interagir avec Orchestrator, pas même d'exporter des grilles ! L'exportation des grilles s'effectue désormais en arrière-plan, de sorte que cela ne vous empêche plus d'utiliser Orchestrator jusqu'à ce que l'exportation soit terminée. Nous avons optimisé l’expérience et nous vous informons en temps réel du succès de l’exportation. De plus, vous pouvez retrouver tous vos exports centralisés dans la nouvelle page Mes rapports (My reports).
En savoir plus sur l'exportation des grilles en arrière-plan.
Nouvelles alertes pour les opérations d'exportation
Un grand pouvoir implique de grandes responsabilités. Par conséquent, une nouvelle alerte vous informe du résultat d'un export. Si l'exportation que vous avez initiée a réussi, l'alerte enregistre l'exportation avec la gravité Info, tandis que pour les exportations infructueuses, l'alerte est enregistrée comme Erreur (Error). Naviguer vers la source de l'alerte en cliquant sur le lien Voir plus (See more) dans l'e-mail d'alerte vous redirige vers la page Mes rapports (My reports), mettant en surbrillance l'exportation qui a échoué. Cette nouvelle alerte arrivera par défaut dans vos e-mails d'alerte, mais vous pourrez vous en désabonner si vous en recevez trop.
UiPath.ConfigProtector.exe
peut désormais être utilisé pour chiffrer et déchiffrer les informations sensibles du service de catalogue de ressources.
Consultez la section dédiée pour obtenir des instructions détaillées.
Cette amélioration entraîne quelques mises à jour supplémentaires :
-
L'outil
UiPath.ConfigProtector.exe
a été mis à niveau vers ASP.NET Core 6.0. -
Deux nouveaux paramètres ont été ajoutés :
-
--signing-settings
- cela vous permet d'ajouter une section de configuration de votre choix aux paramètres de l'outil. -
--keys
/k
- cela vous permet de chiffrer/déchiffrer les clés qui ne sont pas codées en dur.
-
Consultez la table des commandes pour plus de détails sur les nouveaux paramètres.
-
Identifiez vos webhooks plus rapidement ! Nous avons ajouté les champs Nom (Name) (obligatoire) et Description (facultatif) aux flux de création et de modification de webhooks dans l'interface utilisateur. Les webhooks existants reçoivent un nom en fonction de leur GUID, tel que
Webhook-c42b72b1-17fb-4643-ab9c-1bd2102f0ff6
.Ces paramètres sont également disponibles dans l'API, ainsi qu'un paramètre Clé (Key) obligatoire, avec les mentions suivantes :
-
Le paramètre Nom (Name) sera facultatif jusqu'à la version locale 2023.4. Après la version 2023.4, vous devrez fournir les noms des webhooks créés via le point de terminaison POST
odata/Webhooks
. -
Le paramètre obligatoire Clé (Key) est un identifiant unique du webhook dans notre système, il ne peut donc pas être modifié.
-
Si vous n'indiquez pas de nom pour votre webhook à l'aide de la méthode POST, un nom sera automatiquement généré en ajoutant la valeur Clé (Key) à
Webhook
.Lisez plus de détails dans notre documentation.
-
-
Les événements de webhook pour les tâches et les éléments de file d'attente incluent désormais davantage de propriétés :
-
ValeurPrioritéSpécifique (SpecificPriorityValue) pour les événements de tâche
-
HorodatageExceptionTraitement (ProcessingExceptionTimestamp) et IDUtilisateurCréateur (CreatorUserId) pour les événements d'élément de file d'attente
-
Tâches (Jobs)
-
La fenêtre Détails de la tâche (Job Details) inclut désormais le champ Version du package (Package Version), qui indique quelle version d’un package a été utilisée pour exécuter la tâche.
-
Nous avons ajouté deux nouvelles colonnes d'heure à la grille Tâches (Jobs), affichant l'heure relative ou absolue de création d'une tâche. Assurez-vous de sélectionner ces colonnes dans le filtre Colonnes (Columns), car elles ne sont pas visibles par défaut.
-
Vous pouvez maintenant démarrer une tâche sur plusieurs paires compte-machine. Pour ce faire, il vous suffit d'activer l'option Sélectionner des mappages compte-machine valides (Select valid account-machine mappings) sur la page Démarrer la tâche (Start Job) et de cliquer sur Ajouter un mappage compte-machine (Add Account-Machine mapping). Une fois que vous avez ajouté les paires souhaitées, une tâche En attente (Pending) est créée pour chacune d'entre elles.
Alertes
L'accès à une alerte à partir de la liste déroulante des alertes la marque automatiquement comme lue, tout en vous redirigeant vers la source de l'alerte.
Interface utilisateur
-
Le menu Autres actions (More Actions) de plusieurs pages d'Automatisations a été repensé pour regrouper des actions similaires. De plus, nous avons renommé les libellés de Afficher les journaux (View Logs) et Afficher tous les journaux de ce processus (View all logs for this process) en Afficher les journaux de cette tâche (View logs of this job) et Afficher les journaux de toutes les tâches de ce processus (View logs of all jobs for this process), respectivement.
-
Nous avons ajouté deux nouvelles colonnes d'heure à la grille Tâches (Jobs), affichant l'heure relative ou absolue de création d'une tâche. Assurez-vous de sélectionner ces colonnes dans le filtre Colonnes (Columns), car elles ne sont pas visibles par défaut.
-
Les messages d'erreur relatifs aux vérifications de la politique AWS Secrets Manager incluent désormais plus de détails.
Sécurité
Les paramètres que vous saisissez dans le cadre des opérations d'Orchestrator ne sont plus enregistrés dans notre base de données. Cela élimine le risque d'accès à des informations sensibles via un audit et, en tant que tel, améliore la sécurité de vos données.
Application
-
La fonctionnalité d'automatisation de test est désormais installée par défaut avec votre instance d'Orchestrator. L'onglet Test (Testing) d'Orchestrator s'affiche donc par défaut après l'installation, sauf si vous le supprimez manuellement au cours du processus d'installation.
-
La version d'Orchestrator est désormais visible au démarrage/redémarrage de l'application dans les journaux de l'Observateur d'événements pour Orchestrator autonome et dans les journaux du conteneur Docker pour Orchestrator - Automation Suite.
Déclencheurs (Triggers)
Nous avons supprimé la restriction imposant de créer des calendriers de jours non ouvrables uniquement par rapport à des déclencheurs de temps ayant le même fuseau horaire que le locataire auquel ils appartiennent. À partir de maintenant, tout calendrier que vous ajoutez à un déclencheur est interprété comme étant aligné sur le fuseau horaire du déclencheur.
Mises à jour
-
Les locataires supprimés sont désormais ignorés par l'opération qui met à jour les statuts des éléments de file d'attente. Cela empêche les scénarios dans lesquels les transitions d'éléments de file d'attente pourraient être bloquées lorsqu'un locataire sans flux est détecté.
-
Lorsqu'aucune politique de mise à jour n'est configurée dans Orchestrator (c'est-à-dire que le module de mise à jour est désactivé), le serveur ne demande plus d'effectuer des mises à jour de Studio ou de Robot, même si le module est activé dans ces services.
L’option Créer (Create) pour l'autorisation Supports d'exécution (Execution Media) est désormais activée par défaut dans le rôle Automation User au niveau du locataire.
Journaux (Logs)
Nous savons que les journaux sont essentiels au débogage et à l'identification des comportements défectueux. Cette fonctionnalité améliorée d'Orchestrator vous permet d'accéder aux journaux liés à toutes les exécutions de tâches d'un processus particulier. Découvrez comment dans notre documentation.
-
Une réponse
400 Bad Request
avec le code d'erreurInvalidTimeZoneId = 1614
est désormais renvoyée lorsqu'une planification de processus créée via l'API inclut un ID de fuseau horaire non valide. -
Vous pouvez désormais télécharger un package de processus à partir d'un flux externe via le point de terminaison
/odata/Processes/UiPath.Server.Configuration.OData.SetArguments
. Assurez-vous que les arguments affichés sur la page Processus (Processes) et ceux du package sont les mêmes, car Orchestrator n'effectue aucune validation sur les packages à partir d'un flux externe. -
Vous pouvez désormais attribuer des étendues de licence à des applications externes. Recherchez les étendues récemment ajoutées dans la liste des ressources Accès à l'API de gestion de plate-forme (Platform Management API Access).
-
L'URL d'Automation Hub est maintenant renvoyée via des appels au point de terminaison
/odata/Processes
.
Politiques d'accès de l'organisation
Nous avons le plaisir d'annoncer une nouvelle fonctionnalité qui vous permet de mieux contrôler les personnes pouvant accéder aux données de votre organisation. À partir de maintenant, vous avez la possibilité de définir vos propres politiques d'accès en fonction de vos besoins spécifiques. Ce niveau de contrôle supplémentaire permet de garantir que les données sensibles ne sont accessibles qu'aux utilisateurs autorisés.
Avec cette amélioration, l'accès des utilisateurs aux données de l'organisation sera déterminé en fonction de leur état d'utilisateur dans le répertoire externe. Vous pouvez donc spécifier qui a accès aux données et refuser l'accès aux utilisateurs souhaités.
Certificats de signature multiple pour SAML
Pour vous offrir plus de flexibilité et de contrôle sur votre processus d'authentification SAML, nous avons ajouté la prise en charge de plusieurs certificats de signature. Que vous ayez besoin d’effectuer une rotation fréquente de vos certificats de signature ou que vous souhaitiez simplement avoir plus de contrôle sur l’intégration de votre répertoire SAML, nous avons ce qu'il vous faut.
Lors de la configuration de l'intégration du répertoire SAML, vous pouvez soit importer vos paramètres à l'aide du document de métadonnées (recommandé), soit saisir manuellement les certificats de signature.
- Si l'intégration SAML au niveau de l'hôte était configurée pour utiliser une stratégie de mappage d'utilisateur externe avec le nom d'utilisateur ou la clé de fournisseur externe, les utilisateurs qui appartenaient à plusieurs organisations ne pouvaient pas se connecter.
- La page Configuration du service d’authentification unique (SSO) SAML (SAML SSO Configuration) affichait une URL du service client relatif aux assertions (Assertion Customer Service URL) incorrectes. Pour contourner ce problème, vous deviez configurer manuellement l'URL du service client relatif aux assertions (Assertion Customer Service URL) dans l'IDP sans l'ID de partition. L'URL du service client relatif aux assertions (Assertion Customer Service URL) s’affiche désormais correctement et la solution de contournement manuelle n’est plus nécessaire. Lors de la mise à niveau vers 2023.4+, vous devrez modifier l'URL du service client relatif aux assertions (Assertion Customer Service URL) pour inclure l’ID de partition.
- Lorsque vous avez téléchargé un nouveau logo personnalisé, la fonctionnalité d'aperçu ne fonctionnait plus. Vous pouvez maintenant prévisualiser le nouveau logo dans l’en-tête, comme avant.
- Nous avons corrigé un problème qui entraînait le stockage du mot de passe utilisé pour se connecter à un fournisseur de compartiments de stockage dans la base de données. Cela s'est produit lorsque vous avez créé ou modifié un compartiment de stockage. Le mot de passe pouvait être récupéré par un administrateur SQL disposant d'un accès en lecture à la base de données, ou par toute personne disposant de l'autorisation Consultation ( View ) pour l' audit via l'API.
Utilisez ce script pour nettoyer tous les mots de passe affichés dans les journaux existants. Le script peut être exécuté avant la mise à niveau vers cette version.
DECLARE @serverVersion INT SET @serverVersion = ISNULL(CAST(COALESCE(SERVERPROPERTY('ProductMajorVersion'),PARSENAME(CAST(SERVERPROPERTY('productversion') AS varchar(20)), 4)) as INT),0) IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.Buckets' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = JSON_MODIFY([Parameters], ''$.bucketDto.Password'', NULL) WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[Buckets] WHERE [StorageProvider] IN (''Amazon'',''Azure'',''Minio'',''S3Compatible'')) AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.BucketsController'' AND CHARINDEX(''Password'', [Parameters]) > 0 AND NULLIF(JSON_VALUE([Parameters], ''$.bucketDto.Password''), '''') IS NOT NULL' ELSE -- Remove all parameters if json functions are not supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[Buckets] WHERE [StorageProvider] IN (''Amazon'',''Azure'',''Minio'',''S3Compatible'')) AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.BucketsController'' AND CHARINDEX(''Password'', [Parameters]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.Buckets','true',GETUTCDATE()) END IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.CredentialStores' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = JSON_MODIFY([Parameters], ''$.credentialStoreDto.AdditionalConfiguration'', NULL) WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[CredentialStores] WHERE [Type] <> ''Database'') AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.CredentialStoresController'' AND CHARINDEX(''AdditionalConfiguration'', [Parameters]) > 0 AND ISJSON([Parameters]) = 1 AND NULLIF(JSON_VALUE([Parameters], ''$.credentialStoreDto.AdditionalConfiguration''), '''') IS NOT NULL -- Some records are truncated, so not valid JSON UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[CredentialStores] WHERE [Type] <> ''Database'') AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.CredentialStoresController'' AND CHARINDEX(''AdditionalConfiguration'', [Parameters]) > 0 AND ISJSON([Parameters]) = 0' ELSE -- Remove all parameters if json functions are not supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[CredentialStores] WHERE [Type] <> ''Database'') AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.CredentialStoresController'' AND CHARINDEX(''AdditionalConfiguration'', [Parameters]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.CredentialStores','true',GETUTCDATE()) END IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.PackageFeedApiKey' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogEntities] SET [CustomData] = JSON_MODIFY([CustomData], ''$.ApiKey'', NULL) WHERE [EntityId] IS NULL AND [EntityName] = ''UiPackageFeed'' AND CHARINDEX(''ApiKey'', [CustomData]) > 0 AND JSON_VALUE([CustomData], ''$.ApiKey'') IS NOT NULL' ELSE -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogEntities] SET [CustomData] = '''' WHERE [EntityId] IS NULL AND [EntityName] = ''UiPackageFeed'' AND CHARINDEX(''ApiKey'', [CustomData]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.PackageFeedApiKey','true',GETUTCDATE()) END IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.PackageFeedBasicPassword' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogEntities] SET [CustomData] = JSON_MODIFY([CustomData], ''$.BasicPassword'', NULL) WHERE [EntityId] IS NULL AND [EntityName] = ''UiPackageFeed'' AND CHARINDEX(''BasicPassword'', [CustomData]) > 0 AND JSON_VALUE([CustomData], ''$.BasicPassword'') IS NOT NULL' ELSE -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogEntities] SET [CustomData] = '''' WHERE [EntityId] IS NULL AND [EntityName] = ''UiPackageFeed'' AND CHARINDEX(''BasicPassword'', [CustomData]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.PackageFeedBasicPassword','true',GETUTCDATE()) END IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.LicenseKey' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = JSON_MODIFY([Parameters], ''$.licenseKey'', NULL) WHERE [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.SettingsController'' AND CHARINDEX(''licenseKey'', [Parameters]) > 0 AND ISJSON([Parameters]) = 1 AND JSON_VALUE([Parameters], ''$.licenseKey'') IS NOT NULL UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.SettingsController'' AND CHARINDEX(''licenseKey'', [Parameters]) > 0 AND ISJSON([Parameters]) = 0' ELSE EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.SettingsController'' AND CHARINDEX(''licenseKey'', [Parameters]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.LicenseKey','true',GETUTCDATE()) END
DECLARE @serverVersion INT SET @serverVersion = ISNULL(CAST(COALESCE(SERVERPROPERTY('ProductMajorVersion'),PARSENAME(CAST(SERVERPROPERTY('productversion') AS varchar(20)), 4)) as INT),0) IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.Buckets' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = JSON_MODIFY([Parameters], ''$.bucketDto.Password'', NULL) WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[Buckets] WHERE [StorageProvider] IN (''Amazon'',''Azure'',''Minio'',''S3Compatible'')) AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.BucketsController'' AND CHARINDEX(''Password'', [Parameters]) > 0 AND NULLIF(JSON_VALUE([Parameters], ''$.bucketDto.Password''), '''') IS NOT NULL' ELSE -- Remove all parameters if json functions are not supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[Buckets] WHERE [StorageProvider] IN (''Amazon'',''Azure'',''Minio'',''S3Compatible'')) AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.BucketsController'' AND CHARINDEX(''Password'', [Parameters]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.Buckets','true',GETUTCDATE()) END IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.CredentialStores' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = JSON_MODIFY([Parameters], ''$.credentialStoreDto.AdditionalConfiguration'', NULL) WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[CredentialStores] WHERE [Type] <> ''Database'') AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.CredentialStoresController'' AND CHARINDEX(''AdditionalConfiguration'', [Parameters]) > 0 AND ISJSON([Parameters]) = 1 AND NULLIF(JSON_VALUE([Parameters], ''$.credentialStoreDto.AdditionalConfiguration''), '''') IS NOT NULL -- Some records are truncated, so not valid JSON UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[CredentialStores] WHERE [Type] <> ''Database'') AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.CredentialStoresController'' AND CHARINDEX(''AdditionalConfiguration'', [Parameters]) > 0 AND ISJSON([Parameters]) = 0' ELSE -- Remove all parameters if json functions are not supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[CredentialStores] WHERE [Type] <> ''Database'') AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.CredentialStoresController'' AND CHARINDEX(''AdditionalConfiguration'', [Parameters]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.CredentialStores','true',GETUTCDATE()) END IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.PackageFeedApiKey' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogEntities] SET [CustomData] = JSON_MODIFY([CustomData], ''$.ApiKey'', NULL) WHERE [EntityId] IS NULL AND [EntityName] = ''UiPackageFeed'' AND CHARINDEX(''ApiKey'', [CustomData]) > 0 AND JSON_VALUE([CustomData], ''$.ApiKey'') IS NOT NULL' ELSE -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogEntities] SET [CustomData] = '''' WHERE [EntityId] IS NULL AND [EntityName] = ''UiPackageFeed'' AND CHARINDEX(''ApiKey'', [CustomData]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.PackageFeedApiKey','true',GETUTCDATE()) END IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.PackageFeedBasicPassword' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogEntities] SET [CustomData] = JSON_MODIFY([CustomData], ''$.BasicPassword'', NULL) WHERE [EntityId] IS NULL AND [EntityName] = ''UiPackageFeed'' AND CHARINDEX(''BasicPassword'', [CustomData]) > 0 AND JSON_VALUE([CustomData], ''$.BasicPassword'') IS NOT NULL' ELSE -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogEntities] SET [CustomData] = '''' WHERE [EntityId] IS NULL AND [EntityName] = ''UiPackageFeed'' AND CHARINDEX(''BasicPassword'', [CustomData]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.PackageFeedBasicPassword','true',GETUTCDATE()) END IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.LicenseKey' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = JSON_MODIFY([Parameters], ''$.licenseKey'', NULL) WHERE [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.SettingsController'' AND CHARINDEX(''licenseKey'', [Parameters]) > 0 AND ISJSON([Parameters]) = 1 AND JSON_VALUE([Parameters], ''$.licenseKey'') IS NOT NULL UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.SettingsController'' AND CHARINDEX(''licenseKey'', [Parameters]) > 0 AND ISJSON([Parameters]) = 0' ELSE EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.SettingsController'' AND CHARINDEX(''licenseKey'', [Parameters]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.LicenseKey','true',GETUTCDATE()) END - L'utilisation de la dernière version de BeyondTrust Server ou la mise à niveau vers celle-ci entraînait parfois des problèmes d'intégration. Maintenant, tout fonctionne comme prévu.
- L'équilibrage de charge et SignalR entraînaient parfois des problèmes de performances. Ce problème est maintenant corrigé.
- Lorsque vous supprimiez une machine attribuée à un dossier, l'attribution était conservée et la machine était toujours affichée dans ce dossier. Le problème ne se produit plus.
- Après la migration, les mappages compte-machine n'étaient parfois pas générés, ce qui vous empêchait d'exécuter des tâches. Ce n'est maintenant plus le cas.
- Nous avons corrigé un blocage qui empêchait la création de nouvelles tâches dans les dossiers classiques, tout en utilisant des robots spécifiques.
- Nous avons amélioré la sécurité de notre système en limitant l’exposition d’informations internes inutiles dans certaines réponses d’erreur.
- Lorsque vous avez modifié le nom d'un déclencheur, la page Rechercher dans le locataire (Search in tenant) affichait encore son nom précédent. À présent, le nom mis à jour du déclencheur est répertorié dans les résultats de la recherche.
- Nous avons corrigé un problème qui entraînait le stockage des mots de passe du magasin d’informations d’identification dans la base de données. Les mots de passe pouvaient être récupérés par un administrateur SQL disposant d'un accès en lecture à la base de données, ou par toute personne disposant de l'autorisation Consultation ( View ) pour l' audit via l'API.
- Les horodatages affichés pour les tâches dans les journaux de la base de données Orchestrator étaient incorrects.
- Lorsque vous exportiez un rôle de dossier, les autorisations au niveau du locataire de ce rôle étaient également exportées. Ce problème est désormais résolu.
- La modification d'une date de report pour un élément de file d'attente utilisait la valeur UTC au lieu de la valeur de fuseau horaire du locataire.
- Les fichiers du compartiment de stockage ont été supprimés à tort en raison d'un problème lié à la suppression de dossiers. Plus précisément, lorsque vous dissociiez un compartiment de stockage d'un dossier, puis que vous supprimiez ce dossier, les fichiers inclus dans le compartiment de stockage dissocié étaient également supprimés. La même chose s'est produite lorsque vous avez supprimé le dossier sans d'abord dissocier le compartiment de stockage. Cela s'est produit bien que le compartiment de stockage soit toujours lié à d'autres dossiers.
- Lorsque vous activiez les mappages compte-machine et démarriez une tâche avec l'option Affecter dynamiquement (Allocate dynamically) définie sur le nombre de robots disponibles, au moins une tâche restait à l'état En attente (Pending). Désormais, toutes les tâches sont correctement exécutées par tous les robots disponibles pour les récupérer.
- Les exécutions n’étaient pas correctement attribuées aux robots disponibles. Cela se produisait lorsqu’un grand nombre de robots étaient appelés pour le même modèle et attribués à la même tâche.
- Les domaines Active Directory se chargent désormais plus rapidement. Cela est dû à la mise en cache et à la valeur d'expiration du cache configurable de la méthode
GetTrustedDomainNames
. - La modification d'une date de report pour un élément de file d'attente utilisait la valeur UTC au lieu de la valeur de fuseau horaire du locataire.
- Lorsque vous utilisiez l'outil de configuration de la plate-forme pour mettre à jour les URL, les enregistrements
[dbo].[UserLogins]
n'étaient pas mis à jour en conséquence, ce qui entraînait des problèmes de connexion. - Lorsqu'un utilisateur tentait d'accéder à Orchestrator à l'aide d'une URL reçue d'un autre utilisateur et que l'URL reçue incluait des données spécifiques à l'utilisateur, une page vierge s'affichait et l'utilisateur ne pouvait pas accéder à Orchestrator. Désormais, dans de tels cas, les utilisateurs sont redirigés vers la page de connexion.
- La version du processus incluse dans la fenêtre Détails de la tâche (Job Details) était incorrecte et affichait la dernière version téléchargée vers Orchestrator. Désormais, le champ Version du processus (Process Version) renvoie correctement la version utilisée pour exécuter la tâche.
- Le filtrage par identité d'hôte sur les pages Tâches (Jobs) et Journaux (Logs) ne fonctionnait pas correctement pour les tâches exécutées via des comptes sans informations d'identification. Lors de l'exécution de tâches sur des machines Windows, la colonne Identité de l'hôte (Host Identity) était renseignée avec l'identité réelle des robots (domaine/nom d'utilisateur) ; cependant, le filtrage selon cette valeur ne renvoyait aucune tâche. Lors de l'exécution de tâches sur des machines Linux, les tâches étaient exécutées sous Racine (Root), mais, cette valeur n'était pas disponible pour le filtrage.
- Les boutons OK et Annuler (Cancel) de la fenêtre d'avertissement de mise à niveau ne s'affichaient pas correctement dans la version japonaise de l'application. Ils sont maintenant visibles.
/api/UserPartition/users/{partitionGlobalId}
.
Ajouté le 24 avril 2023
Les graphiques Historique des tâches (Jobs History) et Transactions de la section Vue d'ensemble (Overview) sur la page Surveillance (Monitoring) ne s'affichent parfois pas correctement sur Mozilla Firefox. Si cela se produit, le problème devrait se résoudre en actualisant le navigateur.
Ce problème sera résolu dans notre prochaine mise à jour cumulative.
Ajouté le 28 avril 2023
Il existe une déconnexion entre les autorisations des applications externes et le serveur d'identité, vous empêchant d'ajouter des applications externes à un locataire ou un dossier.
appsettings.json
du serveur d'identité :"IdentityFeatureFlags": {
"PublicApps": {
"EnableDefaultScope": true,
"ApplicationDirectoryMembershipEnabled": true
}
}
"IdentityFeatureFlags": {
"PublicApps": {
"EnableDefaultScope": true,
"ApplicationDirectoryMembershipEnabled": true
}
}
iisreset
pour appliquer les modifications.
Ce problème sera résolu dans notre prochaine mise à jour cumulative.
Ajout du 6 novembre 2023
Dans les versions 2023.4.0 à 2023.4.2, si vous disposez d’un environnement intégré Active Directory (AD), vous verrez des défaillances statiques du produit entraînant le redémarrage du pool d’applications IIS. Ce problème a été résolu dans la version 2023.4.3, mais il affecte toujours les versions susmentionnées. Par conséquent, si vous utilisez AD, nous vous recommandons fortement d’installer ou d’effectuer la mise à niveau directement vers 2023.4.3. Sinon, vous rencontrerez des problèmes de fonctionnalité.
Nous vous recommandons de vérifier régulièrement le calendrier d'obsolescence pour toute mise à jour concernant les fonctionnalités qui seront obsolètes et supprimées.
- Nouveautés
- Portail de gestion des balises
- Enregistrement de tâches vidéo
- Restriction des dossiers classiques
- Modifications apportées au script du catalogue de ressources
- Autorisations détaillées pour les applications externes
- Mises à jour de l'exploration de l'espace de travail personnel
- Nouveau magasin d'informations d’identification
- Custom credential hosts and stores
- Nouveau paramètre de configuration
- Affichage des applications de package Studio dans Orchestrator
- New date formatting library
- Déclencheurs d'événement comme exigences de package
- Politiques de rétention des éléments de file d'attente
- Améliorations
- Exportation des grilles dans l'arrière-plan
- UiPath.ConfigProtector.exe tool and Resource Catalog Service
- Améliorations des webhooks
- Améliorations de la convivialité
- Améliorations des fonctionnalités via l'API
- Améliorations de l'administration
- Résolution de bogues
- Changements radicaux
- Colonne Dernière connexion (Last Login)
- Problèmes connus
- Problème de page de surveillance
- Problème lié aux autorisations des applications externes
- Problème connu de l’identité
- Chronologie de l’abandon