Orchestrator
2023.4
False
  • Notes de publication
    • 2023.4
    • 2023.4.1
    • 2023.4.2
    • 2023.4.3
    • 2023.4.4
    • 2023.4.6
    • 2023.4.7
Image de fond de la bannière
Notes de publication d'Orchestrator
Dernière mise à jour 19 avr. 2024

2023.4

Date de publication : 26 avril 2023

Nouveautés

Portail de gestion des balises

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.

Enregistrement de tâches vidéo

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.

Diffusion en direct et contrôle à distance

Le débogage à distance des exécutions de tâches est désormais plus convivial grâce à notre nouvelle solution de guichet unique : diffusion en direct et contrôle à distance. Cela vous permet de surveiller une exécution Unattended pendant qu'elle se déroule et, si des problèmes surviennent et qu'un débogage est nécessaire, de prendre le contrôle de l'exécution à distance et d'essayer de la corriger.

Cette nouvelle fonctionnalité permet de gagner du temps lors de l'identification et de la résolution des problèmes, et réduit le nombre d'interventions manuelles nécessaires au débogage et au déblocage des processus d'automatisation Unattended.

Restriction des dossiers classiques

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.

Modifications apportées au script du catalogue de ressources

Le paramètre -orchestratorUrl obligatoire a été ajouté au script MigrateTo-ResourceCatalog.ps1.
En outre, le script MigrateTo-ResourceCatalog.ps1 doit maintenant être exécuté lors de la mise à niveau d'Orchestrator et du service de catalogue de ressources.

Autorisations détaillées pour les applications externes

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.

Mises à jour de l'exploration de l'espace de travail personnel

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)).

Nouveau magasin d'informations d’identification

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).

Custom credential hosts and stores

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.

L'utilisation de ce proxy est contrôlée par le paramètre Features.CredentialStoreHost.Enabled dans le fichier UiPath.Orchestrator.dll.config, qui est false par défaut.

Nouveau paramètre de configuration

Le paramètre 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.

Affichage des applications de package Studio dans Orchestrator

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 :

New date formatting library

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 as 2023/2/24 16:48:25 in Japanese, whereas you would see 2022年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 of a few seconds ago.

Déclencheurs d'événement comme exigences de package

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.

Note: In our 2023.4 release notes, we mistakenly stated that Event triggers were available in on-premises Orchestrator instances. Contrary to that announcement, the feature is not available. We apologize for the confusion.

Politiques de rétention des éléments de file d'attente

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.

Améliorations

Test du runtime pour Robots Automation Suite

Nous avons amélioré la façon dont vous pouvez tester les Robots Automation Suite. Nous avons introduit la possibilité de choisir entre votre licence Production (Non assistée - Unattended) et votre licence Test (Testing) pour exécuter des tâches non assistées (unattended). Comme avant, vous pouvez continuer à utiliser votre licence Production (Non assistée - Unattended) pour exécuter des processus non assistés (unattended) dans des environnements de production. Ce qui a changé, c'est que la licence Test (Testing) permet désormais d'exécuter des ensembles de tests et des cas de test, tout en vous permettant également d'exécuter des processus non assistés (unattended).

Il vous suffit d'attribuer la licence souhaitée à un modèle de machine Robot Automation Suite dans Orchestrator. Gardez simplement à l’esprit que le nombre de licences allouées dicte le nombre de tâches que le backend peut exécuter en parallèle.

Vous vous demandez comment cela se reflète dans l'interface utilisateur d'Orchestrator ? Tout d'abord, vous verrez que les détails du runtime sont affichés à la fois pour la production et les tests lors de la configuration de votre machine. Deuxièmement, lors de l'exécution des automatisations, vous devez maintenant indiquer si vous souhaitez utiliser Production (Non assistée - Unattended) ou Test (Testing) comme licence de runtime.

Détails supplémentaires sur les robots Automation Suite

Les tâches de robot et les exécutions de cas de test Automation Suite fournissent désormais des détails sur la taille du robot.

Exportation des grilles dans l'arrière-plan

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).

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 tool and Resource Catalog Service

L'outil 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.

Améliorations des webhooks

  • 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

Améliorations de la convivialité

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 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.

Autorisations

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.

Améliorations des fonctionnalités via l'API

  • Une réponse 400 Bad Request avec le code d'erreur InvalidTimeZoneId = 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.

Résolution de bogues

  • 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())
    ENDIF 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())
    ENDIF 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())
    ENDIF 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())
    ENDIF 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())
    ENDDECLARE @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.
  • Les demandes d'obtention de fichiers de compartiment de stockage portant l'extension.svg, .js, .css, .ttf, .woff, .woff2, ou .map échouaient si l'extension se trouvait à la fin de la demande.
  • 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.

Changements radicaux

Colonne Dernière connexion (Last Login)

La colonne Dernière connexion (Last Login) ne s'affiche plus sur la page Licence (License) au niveau du locataire Orchestrator pour les licences Assistées (Attended). Cette modification permettra de charger les détails plus rapidement dans des environnements contenant plus de 300 000 robots assistés (attended robots). Toutefois, si vous souhaitez récupérer ces informations, vous pouvez utiliser le point de terminaison /api/UserPartition/users/{partitionGlobalId}.

Problèmes connus

Problème de page de surveillance

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.

Problème lié aux autorisations des applications externes

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.

Vous pouvez contourner cela en ajoutant les paramètres suivants à la carte de configuration identity-service dans ArgoCD :
IdentityFeatureFlags__PublicApps__ApplicationDirectoryMembershipEnabled: 'true' 
IdentityFeatureFlags__PublicApps__EnableDefaultScope: 'true'IdentityFeatureFlags__PublicApps__ApplicationDirectoryMembershipEnabled: 'true' 
IdentityFeatureFlags__PublicApps__EnableDefaultScope: 'true'

Une fois ajouté, enregistrez simplement les modifications.

Ce problème sera résolu dans notre prochaine mise à jour cumulative.

Problème connu de l’identité

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é.

Chronologie de l’abandon

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.

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Logo Uipath blanc
Confiance et sécurité
© 2005-2024 UiPath. All rights reserved.