orchestrator
2023.4
false
  • 发行说明
    • 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
重要 :
请注意此内容已使用机器翻译进行了部分本地化。
Orchestrator 发行说明
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 2024年10月21日

2023.4

发行日期:2020 年 4 月 24 日

新增功能

标签管理门户

现在,我们提供了一个集中位置,用于管理您在整个服务中使用的标签。在租户级别的组织的管理部分中提供了恰当命名的“标签”页面。该页面允许您从一个位置添加、编辑和删除标签,而无需重复访问单个对象以进行标记。

视频作业录制

在对作业进行故障排除时,您现在可以从额外的效率中受益。这是由于我们全新的“视频录制”功能在流程级别适用于所有 Unattended 执行(目前仅可预览)。

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.

发布此功能后,现有屏幕截图选项发生了变化:所有用户现在都可以使用此功能,而不仅仅是企业版计划中的用户。

限制传统文件夹

2021 年 10 月,我们已宣布弃用传统文件夹。

2022 年 4 月,我们已宣布将其删除

2022 年 10 月,我们启动了一个向导,可帮助您将传统文件夹对象迁移到新式文件夹,同时保留现有结构和层次结构。

我们现在通过在传统文件夹中禁用执行以及一些其他更改来继续此流程。因此,将传统文件夹迁移到新式文件夹比以往任何时候都更加重要,以确保服务不间断。

资源目录脚本变更

已将必需的 -orchestratorUrl 参数添加到 MigrateTo-ResourceCatalog.ps1 脚本。
此外,现在升级 Orchestrator 和资源目录服务时必须运行 MigrateTo-ResourceCatalog.ps1 脚本。

外部应用程序的精细权限

管理员现在可以通过将外部应用程序分配给 Orchestrator 中的文件夹或租户,为外部应用程序配置精细的租户或文件夹权限。外部应用程序通过一个或多个角色获取在文件夹或租户中执行特定操作所需的权限。

应用程序获取组织级别和 Orchestrator 中为其定义的所有作用域的并集。删除其中任何一个作用域后,应用程序会根据剩余作用域保留访问权限级别。

您还可以使用组来简化外部应用程序管理,因为组允许您一起管理具有相似需求的对象。

个人工作区探索更新

我们引入了两个新选项,允许 Orchestrator 管理员控制停止个人工作区探索:

  • “在以下时间后自动停止探索个人工作区”- 现在可以在可配置的时间后自动停止探索个人工作区过程。

  • “停止所有用于探索个人工作区的活动会话” - 可以停止所有当前处于活动状态的探索会话。

通过租户设置(“常规”选项卡 >“个人工作区”部分),可以使用这两个选项。

新建凭据存储

现在,您可以将 Orchestrator 凭据存储在 AWS Secrets Manager 中。有关新添加的凭据存储的详细信息,请参阅 AWS Secrets Manager 集成

Custom credential hosts and stores

您现在可以在已经安全的凭据存储上添加额外的安全层。为此,我们创建了“Orchestrator 凭据代理”,这样您就可以避免在 Orchestrator 和所选凭据存储之间创建直接连接,而是通过代理进行连接。

使用此代理由 UiPath.Orchestrator.dll.config 文件中的 Features.CredentialStoreHost.Enabled 参数控制,默认情况下为 false

新的配置参数

我们已将 Plugins.SecureStores.CyberArkCCP.KeyStorageFlags 参数添加到 Orchestrator 配置文件中,以便您选择存储位置以及如何导入为 CyberArk CCP 凭据存储配置的客户端证书私钥。该操作有助于防止出现任何读/写限制或与访问权限相关的问题。

在 Orchestrator 中查看 Studio 包应用程序

Orchestrator 现在可以检索 Studio 包使用的应用程序。因此,您可以在以下位置看到它们:

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.

作为包要求的事件触发器

我们已优化了 Orchestrator,以便在创建流程时将事件触发器活动识别为包要求。将这些活动关联到 Integration Service 连接,并做进一步配置以满足您的业务需求,这一切都是为了更好地实现触发的自动化。

注意:在我们的 2023.4 发布说明中,我们误指出事件触发器在本地 Orchestrator 实例中可用。与该公告相反,该功能不可用。对于给您带来的困惑,我们深表歉意。

队列项目的保留策略

整理 Orchestrator 数据库并设置保留策略,以永久删除旧队列项目或将其移动到指定存储。如果您需要更多时间做出决定,还可以选择将队列项目数据无限期保留在数据库中,这是默认应用的策略。此操作可助您有组织地释放数据库,并且 Orchestrator 的性能会更好。

我们的文档页面上了解相关保留策略提示和技巧。

改进

在后台导出网格

没有什么能阻止您与 Orchestrator 交互,导出网格也不会!导出网格操作现在在后台执行,因此在导出完成之前,该操作不会再阻止您使用 Orchestrator。我们优化了体验,并实时通知您导出的成功结果。此外,您可以在新的“我的报告”页面找到所有导出内容。

了解有关在后台导出网格的更多信息。

导出操作的新警示

导出数据量大,则责任重大。因此,系统会出现一个新警示,通知您导出结果。如果您启动的导出成功,则警示会将导出严重性记录为“Info”;而对于不成功的导出,警示将记录为“Error”。单击警示电子邮件中的“查看更多”链接导航到警示来源,系统会将您重定向到“我的报告”页面,并突出显示确切的导出失败原因。默认情况下,您将在警示电子邮件中收到此新警示,但如果该电子邮件像垃圾邮件般发送至您的电子邮箱,则您可以取消订阅。

UiPath.ConfigProtector.exe tool and Resource Catalog Service

UiPath.ConfigProtector.exe 工具现在可用于加密和解密资源目录服务敏感信息。

有关详细说明,请参阅专用部分

此改进带来了一些其他更新:

  • UiPath.ConfigProtector.exe 工具已升级到 ASP.NET Core 6.0。
  • 添加了两个新参数:

    • --signing-settings - 这使您可以将所选的配置部分添加到工具的设置中。
    • --keys / k - 这使您可以加密/解密未硬编码的密钥。

有关新参数的详细信息,请参见命令表

Webhook 改进

  • 更快地识别 Webhook!我们已在用户界面中的“创建和编辑 Webhook”流程中添加了“名称”(必填)和“说明”(可选)字段。现有 Webhook 会根据其 GUID 接收名称,例如 Webhook-c42b72b1-17fb-4643-ab9c-1bd2102f0ff6

    API 中也提供了这些参数,以及必需的密钥参数,并在以下内容中提及:

    • 在 2023.4 内壁部署版本之前,“名称”参数将是可选。而在 2023.4 版本之后,您需要为通过 POST odata/Webhooks 端点创建的 Webhook 命名。
    • “密钥”参数为必填项,是我们系统中 Webhook 的唯一标识符,因此无法更改。

    • 如果您并未使用 POST 方法为 Webhook 命名,则系统会通过将值附加到 Webhook 来为 Webhook 自动生成一个名称。

      请在我们的文档中阅读更多详情。

  • 作业和队列项目的 Webhook 事件现在包括更多属性:

    • 作业事件的特定优先级值

    • 队列项目事件的处理异常时间戳创建者用户 ID

可用性改进

作业

  • 作业详细信息”窗口现在包含“包版本”字段,该字段指示用于运行作业的包版本。

  • 我们在“作业”网格中添加了两个新的时间列,用于显示创建作业的相对时间或绝对时间。请务必在“”筛选器中选择这些列,因为默认情况下它们不可见。

  • 您现在可以在多个“帐户-计算机”对上启动作业。为完成此操作,您只需在“开始作业”页面上启用“选择有效的帐户-计算机映射”选项,然后单击“添加帐户-计算机映射”。添加所需对后,系统会为每个对创建“待处理”作业。

警示

从警示下拉列表中访问警示会自动将其标记为已读,同时会将您重定向到警示来源。

用户界面

  • 已重新设计多个自动化页面的“更多操作”菜单,以将相似的操作分组。此外,我们将“查看日志”和“查看其流程的所有日志”的标签分别重命名为“查看此作业的日志”和“查看此流程的所有作业的日志”。

  • 我们在“作业”网格中添加了两个新的时间列,用于显示创建作业的相对时间或绝对时间。请务必在“”筛选器中选择这些列,因为默认情况下它们不可见。

  • 与 AWS Secrets Manager 策略验证相关的错误消息现在包含更多详细信息。

安全性

您在 Orchestrator 操作中输入的参数不再保存在我们的数据库中。该操作消除了通过审核访问敏感信息的风险,从而增强了数据的安全性。

应用程序

  • 现在,默认情况下测试自动化功能会随 Orchestrator 实例一起安装。因此,安装后会默认显示 Orchestrator 中的“测试”选项卡,除非您在安装过程中手动将其删除。

  • 在应用程序启动/重新启动时,您现在可以在独立 Orchestrator 的事件查看器日志和 Automation Suite Orchestrator 的 Docker 容器日志中看到 Orchestrator 版本。

触发器

我们删除了仅在与其所属租户具有相同时区的时间触发器上创建非工作日日历的限制。从现在开始,您添加到触发器的任何日历都将被解释为与触发器的时区相符。

更新

  • 更新队列项目状态的操作现在将忽略已删除的租户。这可以防止在检测到没有订阅源的租户时阻止队列项目转换的情况。

  • 如果未在 Orchestrator 中配置更新策略(即禁用更新模块),服务器将不再请求执行任何 Studio 或机器人更新,即使已在这些服务中启用模块。

权限

默认情况下,系统现在会在租户级别的“Automation Users 角色”中启用“执行介质”权限的“创建”选项。

日志

我们知道日志是调试和识别错误行为的核心。通过此改进的 Orchestrator 功能,使您可以访问特定流程的所有作业执行的日志。有关说明,请参阅我们的文档

通过 API 改进功能

  • 现在,当通过 API 创建的流程计划包含无效的时区 ID 时,将返回带有 InvalidTimeZoneId = 1614 错误代码的 400 Bad Request 响应。
  • 您现在可以通过 /odata/Processes/UiPath.Server.Configuration.OData.SetArguments 端点从外部订阅源上传流程包。只需确保“流程”页面上显示的参数与包中显示的参数相同,因为 Orchestrator 不会对来自外部订阅源的包执行任何验证。
  • 您现在可以将许可作用域分配给外部应用程序。在“平台管理 API 访问权限”资源列表中找到新添加的作用域。

  • Automation Hub URL 现在通过调用 /odata/Processes 端点返回。

管理改进

组织访问权限策略

我们很高兴地宣布推出一项新功能,让您可以更好地控制可以访问组织数据的人员。从现在开始,您将能够根据您的特定需求定义自己的访问策略。这种增加的控制级别有助于确保只有授权用户才能访问敏感数据。

借助此增强功能,将根据用户在外部目录中的用户状态确定用户对组织数据的访问权限。这意味着您可以指定有权访问数据的人员,并拒绝其他所有人访问。

适用于 SAML 的多个签名证书

为了让您更加灵活地控制 SAML 身份验证流程,我们增加了对多个签名证书的支持。无论您是需要经常轮换签名证书,还是只想更好地控制 SAML 目录集成,我们都能满足您的需求。

配置 SAML 目录集成时,您可以使用元数据文档(推荐)导入设置,也可以手动输入签名证书。

错误修复

  • 如果将主机级别的 SAML 集成配置为对用户名外部提供程序密钥使用外部用户映射策略,则属于多个组织的用户将无法登录。
  • SAML SSO 配置”页面显示的“断言客户服务 URL”不正确。解决方法为,您必须在 IDP 中手动配置“断言客户服务 URL”,而不使用分区 ID。现在可以正确显示“断言客户服务 URL”,并且不再需要手动解决方法。升级到 2023.4 及以上版本后,您需要更改“断言客户服务 URL”,以包含分区 ID。
  • 上传新的自定义徽标后,预览功能将不再有效。您现在可以像以前一样在标头中预览新徽标。
  • 我们修复了一个问题,该问题导致用于连接到存储桶提供程序的密码存储在数据库中。 当您创建或编辑存储桶时,会发生这种情况。 具有数据库读取权限的 SQL 管理员或具有通过 API 审核 的“查看”权限的任何人都可以检索密码。

    使用此脚本清除现有日志中显示的所有密码。 在升级到此版本之前,可以运行该脚本。

    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
  • 使用 BeyondTrust Server 的最新版本或升级到最新版本有时会导致集成问题。现在一切已正常。
  • 负载平衡和 SignalR 有时会导致性能问题。现在,此问题已修复。
  • 当您删除已分配给文件夹的计算机时,系统会保留分配,并且该计算机仍会显示在该文件夹中。将不再出现此问题。
  • 迁移后,有时无法生成帐户-计算机映射,从而导致您无法运行作业。现在不会再出现该问题。
  • 我们修复了一个死锁,该死锁会阻止使用特定机器人在传统文件夹中创建新作业。
  • 我们限制在某些错误响应中暴露不必要的内部信息,从而提高了系统的安全性。
  • 更改触发器的名称后,“在租户中搜索”页面仍会显示其以前的名称。搜索结果现在会列出更新后的触发器名称。
  • 我们修复了导致凭据存储密码存储在数据库中的问题。 对数据库具有读取权限的 SQL 管理员或通过 API 对 审核 具有查看权限的任何人都可以检索密码。
  • Orchestrator 数据库日志中针对作业显示的时间戳不正确。
  • 导出文件夹角色时,系统也会导出该角色的租户级别权限。现在,此问题已修复。
  • 编辑队列项目的推迟日期时,所采用的是 UTC 值,而不是租户所在的时区值。
  • 由于与文件夹删除相关的问题,存储桶文件被错误地删除。 具体来说,如果您取消某个文件夹与某个存储桶的链接,然后删除了该文件夹,则取消链接的存储桶中包含的文件也会被删除。 当您在未先取消链接存储桶的情况下删除文件夹时,也会发生同样的情况。 尽管存储桶仍与其他文件夹相关联,但仍会发生这种情况。
  • 当您启用帐户-计算机映射并在“动态分配”选项设置为可用机器人数量的情况下启动作业时,至少有一个作业保持“待处理”状态。所有可用于检索作业的机器人现在都可以正确执行所有作业。
  • 未将执行正确分配给可用的机器人。当为同一模板调用大量机器人并将其分配给同一作业时,就会发生这种情况。
  • Active Directory 域现在的加载速度更快。这是因为我们采用了 GetTrustedDomainNames 方法的缓存和可配置的缓存过期值。
  • 编辑队列项目的推迟日期时,所采用的是 UTC 值,而不是租户所在的时区值。
  • 当您使用平台配置工具更新 URL 时,[dbo].[UserLogins] 记录未相应更新,从而会导致登录问题。
  • 当用户尝试使用从其他用户处收到的 URL 访问 Orchestrator,并且收到的 URL 包含用户特定的数据时,系统会显示空白页面,并且用户无法访问 Orchestrator。现在,在这种情况下,系统会将用户重定向到登录页面。
  • 作业详细信息”窗口中包含的流程版本不正确,显示的是已上传到 Orchestrator 的最新版本。“流程版本”现在字段可以正确呈现用于运行作业的版本。
  • 对于通过无凭据帐户执行的作业,在“作业”页面和“日志”页面上按主机身份进行筛选将无法正常工作。在 Windows 计算机上运行作业时,“主机身份”列将填充机器人的实际身份 (domain\username),但按此值进行筛选不会返回任何作业。在 Linux 计算机上运行作业时,将以 Root 用户身份执行作业,但此值不可用于筛选。
  • 升级警告窗口中的“确定”和“取消”按钮未在日语版应用程序中正确显示。这些按钮现在可见。

重大变更

“上次登录”列

Attended 许可证”中,Orchestrator 租户级别的“许可证”页面中的“上次登录”列已不再显示。这使得在包含超过 300.000 个 Attended 机器人的环境中可以更快地加载详细信息。但是,如果要检索此信息,可以使用 /api/UserPartition/users/{partitionGlobalId} 端点。

已知问题

监控页面问题

2023 年 4 月 24 日添加

使用 Mozilla Firefox 时,有时无法正确显示“监控”页面“概述”部分中的“作业历史记录”和“事务”图。如果发生这种情况,刷新浏览器应该可以解决该问题。

我们将在下一个累积更新中修复该问题。

外部应用程序权限问题

2023 年 4 月 28 日添加

外部应用程序权限 与 Identity Server 之间存在断开连接,从而使您无法将外部应用程序添加到租户或文件夹中。

您可以通过将以下参数添加到 Identity Server 的 appsettings.json 文件来绕过此问题:
"IdentityFeatureFlags": {
    "PublicApps": {
 "EnableDefaultScope": true,
 "ApplicationDirectoryMembershipEnabled": true
 }
 }"IdentityFeatureFlags": {
    "PublicApps": {
 "EnableDefaultScope": true,
 "ApplicationDirectoryMembershipEnabled": true
 }
 }
添加后,运行 iisreset 命令以应用更改。

我们将在下一个累积更新中修复该问题。

身份已知问题

添加于 2023 年 11 月 6 日

在版本 2023.4.0 到 2023.4.2 中,如果您有 Active Directory (AD) 集成环境,您会看到产品偶尔出现故障,导致 IIS 应用程序池重新启动。此问题已在版本 2023.4.3 中修复,但仍会影响上述版本。因此,如果您使用 AD,我们强烈建议您直接安装或升级到 2023.4.3。否则,您将遇到功能问题。

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.

弃用时间表

我们建议您定期查看弃用时间表,以获取有关针对即将弃用和删除功能的任何更新。

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。