orchestrator
2023.4
false
  • Notas relacionadas
    • 2023.4
    • 2023.4.1
    • 2023.4.2
    • 2023.4.3
    • 2023.4.4
    • 2023.4.6
    • 2023.4.7
    • 2023.4.8
    • 2023.4.9
    • 2023.4.10
    • 2023.4.11
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática.
UiPath logo, featuring letters U and I in white
Orchestrator Release Notes
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 21 de oct. de 2024

2023.4

Fecha de lanzamiento: 24 de abril de 2023

Novedades

Portal de gestión de etiquetas

Ahora ofrecemos una ubicación central para gestionar las etiquetas que utilizas en todos nuestros servicios. La página Etiquetas está disponible en la sección de administración de tu organización, en el nivel de tenant. Te permite añadir, editar y eliminar etiquetas desde un único lugar, eliminando la necesidad de acceder varias veces a objetos individuales para etiquetarlos.

Grabación de trabajos de vídeo

Ahora puede beneficiarse de una mayor eficacia a la hora de solucionar problemas en los trabajos. Esto se debe a nuestra nueva característica de grabación de vídeo, que está disponible en el ámbito del proceso para todas las ejecuciones desatendidas (actualmente solo disponible como vista previa).

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.

El lanzamiento de esta función supone un cambio en la opción de captura de pantalla existente: ahora está disponible para todos los usuarios, no solo para los que tengan el plan empresarial .

Restringir carpetas clásicas

En octubre de 2021, anunciamos la obsolescencia de las carpetas clásicas.

En abril de 2022 anunciamos su eliminación.

En octubre de 2022, lanzamos un asistente que ayuda en la migración de objetos de carpetas clásicas a carpetas modernas, manteniendo las estructuras y jerarquías existentes.

Seguimos en esta línea deshabilitando las ejecuciones en carpetas clásicas, junto con algunos otros cambios. Por lo tanto, es más importante que nunca migrar tus carpetas clásicas a carpetas modernas, para garantizar un servicio ininterrumpido.

Cambios en el script del catálogo de recursos

Se ha añadido el parámetro -orchestratorUrl obligatorio al script MigrateTo-ResourceCatalog.ps1.
Además, ahora el script MigrateTo-ResourceCatalog.ps1 debe ejecutarse al actualizar Orchestrator y el servicio de catálogo de recursos.

Permisos detallados para apps externas

Actualmente, los administradores pueden configurar permisos detallados de tenant o carpeta para aplicaciones externas asignándolas a carpetas o tenants en Orchestrator. Una app externa obtiene los permisos requeridos para realizar operaciones particulares en una carpeta o tenant mediante uno o más roles.

La aplicación obtiene la unión de todos los ámbitos definidos para ella la organización y en Orchestrator. La eliminación de cualquiera de estos ámbitos deja a la aplicación con niveles de acceso de acuerdo con el ámbito restante.

También puedes usar grupos para simplificar la gestión de aplicaciones externas, ya que los grupos te permiten gestionar juntos objetos con necesidades similares.

Actualizaciones de exploración del espacio de trabajo personal

Se han introducido dos nuevas opciones que permiten a los administradores de Orchestrator controlar la detención de la exploración de los espacios de trabajo personales:

  • Detener automáticamente la exploración de espacios de trabajo personales después de: el proceso de exploración de los espacios de trabajo personales ahora se puede detener automáticamente después de un período de tiempo configurable.

  • Detener todas las sesiones activas para explorar Espacios de trabajo personales : se pueden detener todas las sesiones de exploración activas actualmente.

Ambas opciones están disponibles en la configuración del tenant (pestañaGeneral > sección Espacios de trabajo personales ).

Nuevo almacén de credenciales

Ahora puedes almacenar tus credenciales de Orchestrator en AWS Secrets Manager. Para más información sobre el almacén de credenciales recién añadido, consulta Integración de AWS Secrets Manager.

Custom credential hosts and stores

Actualmente, puedes añadir una capa adicional de seguridad a tus almacenes de credenciales, ya de por sí seguros. Para ello, hemos creado Orchestrator Credentials Proxy, que permite evitar la creación de una conexión directa entre Orchestrator y el almacén de credenciales deseado y, en su lugar, conectarlos a través de un proxy.

El uso de este proxy lo controla el parámetro Features.CredentialStoreHost.Enabled en el archivo UiPath.Orchestrator.dll.config, que de forma predeterminada es false.

Nuevo parámetro de configuración

Se ha añadido el parámetro Plugins.SecureStores.CyberArkCCP.KeyStorageFlags al archivo de configuración de Orchestrator, que permite elegir dónde almacenar y cómo importar la clave privada del certificado de cliente configurado para un almacén de credenciales CyberArk CCP. Esto contribuye a evitar cualquier restricción de lectura/escritura o problemas relacionados con los derechos de acceso.

Ver aplicaciones de paquetes de Studio en Orchestrator

Orchestrator recupera las aplicaciones utilizadas por los paquetes de Studio. Por lo tanto, puede verlos enumerados en los siguientes lugares:

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.

Desencadenadores de eventos como requisitos del paquete

Hemos adaptado a Orchestrator para que identifique las actividades que desencadenan los eventos como requisitos de paquete en el momento de la creación del proceso. Asígnelos a una conexión de Integration Service y realice más configuraciones para cumplir con sus necesidades comerciales, todo por el bien de las automatizaciones desencadenadas.

Nota: en nuestra versión 2023.4 afirmamos por error que los desencadenadores de eventos estaban disponibles en las instancias locales de Orchestrator. Contrariamente a lo anunciado, la función no está disponible. Pedimos perdón por la confusión.

Políticas de retención para artículos en cola

Ordena tu base de datos de Orchestrator y establece una política de retención que elimine permanentemente los artículos en cola antiguos o los mueva a un almacenamiento designado. Si necesitas más tiempo para decidirte, también existe la opción de mantener los datos de los artículos en cola en la base de datos de manera indefinida, que es la política que se aplica de forma predeterminada. Al hacerlo, liberas la base de datos de forma organizada y Orchestrator tiene mejor rendimiento.

Descubra los consejos y trucos de la política de retención en nuestra página de documentación.

Mejoras

Exportar cuadrícula en segundo plano

Ya nada te impide interactuar con Orchestrator, ¡ni siquiera la exportación de cuadrículas! La exportación de cuadrículas se realiza ahora en segundo plano, por lo que ya no te impide utilizar Orchestrator hasta que finalice la exportación. Se ha optimizado la experiencia, y se informa en tiempo real del resultado satisfactorio de la exportación. Además, puedes encontrar todas tus exportaciones centralizadas en la nueva página Mis informes.

Descubre más información sobre cómo Exportar cuadrículas en segundo plano.

Nuevas alertas para operaciones de exportación

Las exportaciones importantes conllevan una gran responsabilidad. Por ello, una nueva alerta te informa del resultado de una exportación. Si la exportación que iniciaste fue satisfactoria, la alerta registra la exportación con la gravedad Información, mientras que, para las exportaciones no satisfactorias, la alerta se registra como Error. Si accedes a la fuente de la alerta haciendo clic en el enlace Ver más del correo electrónico de alerta, se te redirigirá a la página Mis informes y se destacará la exportación exacta que ha fallado. De forma predeterminada, recibirás esta nueva alerta en tus correos electrónicos de alerta, aunque podrás darte de baja si lo consideras demasiado correo no deseado.

UiPath.ConfigProtector.exe tool and Resource Catalog Service

La herramienta UiPath.ConfigProtector.exe ahora se puede utilizar para cifrar y descifrar información confidencial del servicio de catálogo de recursos.

En la sección correspondiente encontrarás instrucciones detalladas.

Esta mejora aporta algunas actualizaciones adicionales:

  • La herramienta UiPath.ConfigProtector.exe se ha actualizado a ASP.NET Core 6.0.
  • Se han añadido dos nuevos parámetros:

    • --signing-settings : te permite añadir la sección de configuración de tu elección a los ajustes de la herramienta.
    • --keys/ k: esto te permite cifrar/descifrar claves que no están codificadas.

Consulta la tabla de comandos para obtener más información sobre los nuevos parámetros.

Mejoras de Webhooks

  • ¡Identifica tus webhooks más rápido! Hemos añadido los campos Nombre (obligatorio) y Descripción (opcional) a los flujos de creación y edición de webhooks en la interfaz de usuario. Los webhooks existentes reciben un nombre en función de su GUID, como Webhook-c42b72b1-17fb-4643-ab9c-1bd2102f0ff6.

    Estos parámetros también están disponibles en la API, más un parámetro clave obligatorio, con las siguientes menciones:

    • El parámetro Nombre será opcional hasta la versión 2023.4 local. Después de la versión 2023.4, se te solicitará que proporciones el nombre para los webhooks creados a través del punto final odata/Webhooks POST.
    • El parámetro clave obligatorio es un identificador único del webhook en nuestro sistema, por lo que no puede modificarse.

    • Si no proporcionas un nombre para tu webhook utilizando el método POST, se generará automáticamente un nombre para él, añadiendo el valor Clave a Webhook.

      Más información en nuestra documentación.

  • Los eventos de webhook para trabajos y elementos en cola ahora incluyen más propiedades:

    • SpecificPriorityValue para eventos de trabajo

    • ProcessExceptionTimestamp y CreatorUserId para eventos de elementos en cola

Mejoras en la usabilidad

Trabajos

  • La ventana Detalles del trabajo ahora incluye el campo Versión de paquete, que indica qué versión de un paquete se ha usado para ejecutar el trabajo.

  • Se han añadido dos nuevas columnas de tiempo a la cuadrícula Trabajos, que muestran el tiempo relativo o absoluto de creación de un trabajo. Es importante seleccionar estas columnas en el filtro Columnas, ya que no están visibles de forma predeterminada.

  • Ahora es posible iniciar un trabajo en varios pares de cuenta-máquina. Para ello, solo tienes que activar la opción Selecciona una asignación de cuenta-máquina válida en la página Iniciar trabajo y hacer clic en Agregar asignación de cuenta-máquina. Una vez añadidos los pares deseados, se crea un trabajo Pendiente para cada uno de ellos.

Alertas

El acceso a una alerta desde el desplegable de la alerta la marca automáticamente como leída, mientras te redirige al origen de la alerta.

Interfaz de usuario

  • Se ha rediseñado el menú Más acciones de varias páginas de Automatizaciones para agrupar acciones similares. Además, hemos cambiado el nombre de las etiquetas para Ver registros y Ver todos los registros de este proceso a Ver registros de este trabajo y Ver registros de todos los trabajos de este proceso, respectivamente.

  • Se han añadido dos nuevas columnas de tiempo a la cuadrícula Trabajos, que muestran el tiempo relativo o absoluto de creación de un trabajo. Es importante seleccionar estas columnas en el filtro Columnas, ya que no están visibles de forma predeterminada.

  • Los mensajes de error relativos a las verificaciones de políticas de AWS Secrets Manager ahora incluyen más detalles.

Seguridad

Los parámetros que se introducen como parte de las operaciones de Orchestrator ya no se guardan en nuestra base de datos. Esto elimina el riesgo de que se acceda a información sensible a través de una auditoría y, por tanto, mejora la seguridad de tus datos.

Aplicación

  • La característica Probar automatización ahora está instalada de forma predeterminada junto con tu instancia de Orchestrator. Así, la pestaña Pruebas de Orchestrator se muestra de manera predeterminada tras la instalación, a menos que se elimine manualmente durante el proceso de instalación.

  • La versión de Orchestrator ahora está visible al iniciar/reiniciar la aplicación en los registros del Visor de eventos para Orchestrator independiente y en los registros del contenedor Docker para Automation Suite Orchestrator.

Desencadenadores

Hemos eliminado la restricción de crear solo calendarios de días no laborables en desencadenadores de tiempo que tenían la misma zona horaria que el tenant al que pertenecen. A partir de ahora, cualquier calendario que añada a un desencadenador se interpretará como alineado con la zona horaria del desencadenador.

Actualizaciones

  • Los tenants eliminados ahora son ignorados por la operación que actualiza los estados de los elementos en cola. Esto evita escenarios en los que las transiciones de los elementos de la cola podrían bloquearse cuando se detecta un tenant sin una fuente.

  • Cuando no se configura ninguna política de actualización en Orchestrator (es decir, el módulo de actualización está deshabilitado), el servidor ya no solicita que se realice ninguna actualización de Studio o Robot, aunque el módulo esté habilitado en estos servicios.

Permisos

La opción Crear para el permiso Medios de ejecución ahora está habilitada de forma predeterminada en el rol Automation User en el nivel de tenant.

Registros

Es sabido que los registros son el núcleo de la depuración y la identificación de comportamientos defectuosos. Esta funcionalidad mejorada de Orchestrator te permite acceder a los registros de todas las ejecuciones de trabajo de un proceso concreto. Consulta cómo en nuestra documentación.

Mejoras de características a través de la API

  • Ahora se genera una respuesta 400 Bad Request con el código de error InvalidTimeZoneId = 1614 cuando una planificación de procesos creada a través de la API incluye un ID de zona horaria no válido.
  • Ahora puedes cargar un paquete de proceso desde una fuente externa a través del punto final /odata/Processes/UiPath.Server.Configuration.OData.SetArguments. Simplemente, asegúrate de que los argumentos mostrados en la página Procesos y los del paquete son los mismos, ya que Orchestrator no realiza ninguna validación en los paquetes procedentes de fuentes externas.
  • Ahora es posible asignar ámbitos de licencia a aplicaciones externas. Encontrarás los ámbitos recién agregados en la lista de recursos Acceso a la API de gestión de la plataforma.

  • La URL de Automation Hub se muestra ahora a través de llamadas al punto final /odata/Processes.

Mejoras en la administración

Política de acceso a la organización

Nos complace anunciar una nueva característica que proporciona un mayor control sobre quién puede acceder a los datos de tu organización. A partir de ahora, podrás definir tus propias políticas de acceso en función de tus necesidades específicas. Este mayor nivel de control contribuye a garantizar que solo los usuarios autorizados puedan acceder a los datos confidenciales.

Con esta mejora, el acceso de los usuarios a los datos de la organización se determinará en función de su estado de usuario en el directorio externo. Esto significa que puedes especificar quién tiene acceso a los datos y denegar el acceso a todos los demás.

Múltiples certificados de firma para SAML

Para ofrecerte más flexibilidad y control sobre tu proceso de autenticación SAML, hemos añadido compatibilidad con múltiples certificados de firma. Si necesitas rotar tus certificados de firma con frecuencia o simplemente quieres tener más control sobre la integración de tu directorio SAML, tenemos lo que necesitas.

Al configurar la integración del directorio SAML, puedes importar tu configuración usando el documento de metadatos (recomendado) o bien introducir manualmente los certificados de firma.

Corrección de errores

  • Si la integración SAML al nivel de host se configuraba para utilizar una estrategia de asignación de usuarios externos con el nombre de usuario o la clave de proveedor externo, los usuarios que pertenecían a varias organizaciones no podían iniciar sesión.
  • La página Configuración de SAML SSO mostraba una URL incorrecta de afirmación del servicio de atención al cliente. Como solución provisional, había que configurar manualmente la URL de afirmación del servicio de atención al cliente en IDP sin el ID de la partición. La URL de Afirmación de servicio de atención al cliente ahora se muestra correctamente y la solución manual ya no es necesaria. Al actualizar a 2023.4+ tendrás que cambiar la URL de afirmación del servicio de atención al cliente para incluir el ID de la partición.
  • Al cargar un nuevo logotipo personalizado, la función de vista previa ya no funcionaba. Ahora, puedes obtener una vista previa del nuevo logotipo en el encabezado, igual que antes.
  • Hemos corregido un problema que causaba que la contraseña utilizada para conectarse a un proveedor de depósito de almacenamiento se almacenara en la base de datos. Esto sucedía al crear o editar un depósito de almacenamiento. La contraseña podía ser recuperada por un administrador SQL con acceso de lectura a la base de datos, o por cualquiera con permiso Ver en Auditoría mediante la API.

    Utiliza este script para limpiar cualquier contraseña mostrada en los registros existentes. El script puede ejecutarse antes de actualizarse a esta versión.

    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
  • El uso de la última versión del servidor BeyondTrust o la actualización a la misma a veces ocasionaba problemas de integración. Ahora, todo funciona según lo previsto.
  • El equilibrio de carga y SignalR a veces ocasionaba problemas de rendimiento. Estos problemas se han solucionado.
  • Cuando se eliminaba una máquina asignada a una carpeta, se mantenía la asignación y la máquina seguía apareciendo en esa carpeta. Esto ya no ocurre.
  • Tras la migración, las asignaciones cuenta-máquina a veces no se generaban, lo que impedía ejecutar trabajos. Este ya no es el caso.
  • Se ha solucionado un bloqueo que impedía la creación de nuevos trabajos en carpetas clásicas, mientras se utilizaban robots específicos.
  • Hemos mejorado la seguridad de nuestro sistema restringiendo que información interna innecesaria se exponga en determinadas respuestas de error.
  • Al cambiar el nombre de un desencadenador, la página Buscar en tenant seguía mostrando su nombre anterior. Ahora, el nombre actualizado del desencadenador aparece en los resultados de la búsqueda.
  • Hemos corregido una incidencia que ocasionaba que las contraseñas de almacén de credenciales se almacenaran en la base de datos. Las contraseñas podían ser recuperadas por un administrador SQL con acceso de lectura a la base de datos, o por cualquiera con permiso Ver en Auditoría mediante la API.
  • Las marcas de tiempo mostradas para los trabajos en los registros de la base de datos de Orchestrator eran incorrectas.
  • Al exportar un rol de carpeta, también se exportaban los permisos de nivel de tenant de ese rol. Este problema está solucionado.
  • Al editar una fecha de aplazamiento para un elemento de la cola, se utilizaba el valor UTC en lugar del valor de la zona horaria del tenant.
  • Los archivos de depósito de almacenamiento se eliminaban incorrectamente debido a un problema relacionado con la eliminación de carpetas. Concretamente, al desvincular un depósito de almacenamiento de una carpeta y luego eliminar dicha carpeta, los archivos incluidos en el depósito de almacenamiento desvinculado también se eliminaban. Lo mismo sucedía al eliminar la carpeta sin desvincular primero el depósito de almacenamiento. Esto sucedía a pesar de que el deposito de almacenamiento estuviera vinculado a otras carpetas.
  • Cuando se habilitaron las asignaciones cuenta-máquina y se inició un trabajo con la opción Asignar dinámicamente establecida en el número de robots disponibles, al menos un trabajo siguió en estado Pendiente. Ahora, todos los trabajos se ejecutan correctamente por todos los robots disponibles para su recuperación.
  • Las ejecuciones no se asignaban correctamente a los robots disponibles. Esto ocurría cuando se llamaba a un gran número de robots para la misma plantilla y se les asignaba el mismo trabajo.
  • Los dominios de Active Directory ahora se cargan más rápido. Eso se debe al almacenamiento en caché y al valor configurable de caducidad de la caché del método GetTrustedDomainNames.
  • Al editar una fecha de aplazamiento para un artículo en cola se utilizaba el valor UTC en lugar del valor de la zona horaria del tenant.
  • Al utilizar la herramienta de configuración de la plataforma para actualizar las URL, los registros [dbo].[UserLogins] no se actualizaban en consecuencia, lo que ocasionaba problemas de inicio de sesión.
  • Cuando un usuario intentaba acceder a Orchestrator utilizando una URL que recibía de otro usuario, y la URL recibida incluía datos específicos del usuario, se mostraba una página en blanco y el usuario no podía acceder a Orchestrator. Ahora, en estos casos, se redirige a los usuarios a la página de inicio de sesión.
  • La versión del proceso incluida en la ventana Detalles del trabajo era incorrecta y mostraba la última versión cargada en Orchestrator. Ahora, el campo Versión de proceso representa correctamente la versión utilizada para ejecutar el trabajo.
  • El filtrado por identidad de host en las páginas Trabajos y Registros no funcionaba correctamente para trabajos ejecutados a través de cuentas sin credenciales. Al ejecutar trabajos en equipos Windows, la columna Identidad del host se rellenaba con la identidad real de los robots (domain\username); sin embargo, al filtrar por este valor no se obtenía ningún trabajo. Al ejecutar trabajos en máquinas Linux, los trabajos se ejecutaban bajo Raíz, sin embargo, este valor no estaba disponible para el filtrado.
  • Los botones Aceptar y Cancelar de la ventana de aviso de actualización no se mostraban correctamente en la versión japonesa de la aplicación. Ahora están visibles.

Cambios de última hora

Columna de último inicio de sesión

La columna Último inicio de sesión ya no se muestra en la página Licencia de Orchestrator en el nivel de tenant para las licencias Attended. Esto permite que los detalles se carguen con mayor rapidez en entornos que contengan más de 300 000 robots atendidos. No obstante, si deseas recuperar esta información, puedes utilizar el punto final /api/UserPartition/users/{partitionGlobalId}.

Problemas conocidos

Problema de la página de supervisión

Añadido 24 de abril de 2023

Los gráficos Historial de trabajos y Transacciones de la sección Visión general de la página Supervisión a veces no se muestran correctamente cuando se utiliza Mozilla Firefox. Si esto sucede, el problema debería solucionarse actualizando el navegador.

Este problema se solucionará en nuestra próxima actualización acumulativa.

Problema de permisos de aplicaciones externas

Agregado 28 de abril de 2023

Hay una desconexión entre los permisos de las aplicaciones externas y el Identity Server, lo que le impide añadir aplicaciones externas a un tenant o una carpeta.

Puedes omitir esto añadiendo los siguientes parámetros al archivo appsettings.json del Identity Server:
"IdentityFeatureFlags": {
    "PublicApps": {
 "EnableDefaultScope": true,
 "ApplicationDirectoryMembershipEnabled": true
 }
 }"IdentityFeatureFlags": {
    "PublicApps": {
 "EnableDefaultScope": true,
 "ApplicationDirectoryMembershipEnabled": true
 }
 }
Una vez añadido, ejecuta el comando iisreset para aplicar los cambios.

Este problema se solucionará en nuestra próxima actualización acumulativa.

Problema de identidad conocido

Añadido el 6 de noviembre de 2023

En las versiones 2023.4.0 a 2023.4.2, si tienes un entorno integrado de Active Directory (AD), verás fallos esporádicos del producto que provocan el reinicio del grupo de aplicaciones IIS. Esta incidencia se ha corregido en la versión 2023.4.3, pero sigue afectando a las versiones anteriormente mencionadas. Por ello, si utilizas AD, te recomendamos encarecidamente que instales o actualices directamente a la versión 2023.4.3. De lo contrario, encontrarás problemas de funcionalidad.

Using the latest patch version when upgrading

Added on 3 October 2024

When you upgrade to a major version, the upgrade might fail with an error that the NLog extension UiPath.Orchestrator.Logs.Elasticsearch.dll is not compatible with the new version of Orchestrator. To avoid this issue, you should always use the latest patch version.

Cronología de la obsolescencia

Te recomendamos comprobar periódicamente la fecha de caducidad para ver las actualizaciones relativas a las características que quedarán obsoletas y serán eliminadas.

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.