发行日期:2020 年 4 月 24 日
新增功能
标签管理门户
We now offer a central location for managing the tags you use throughout our services. The aptly named Tags page is available in the administration section of your organization, at the tenant level. It allows you to add, edit, and remove tags from one single location, eliminating the need to repeatedly access individual objects for tagging purposes.
视频作业录制
You can now benefit from an extra layer of efficiency when troubleshooting jobs. This is due to our new video recording feature, which is available at the process level for all unattended executions (currently only available as preview).
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.
The release of this feature brings about a change in the existing screenshot option: it is now available to all users, not only to those on the Enterprise plan.
限制传统文件夹
In October 2021, we announced the deprecation of classic folders.
In April 2022, we announced their removal.
In October 2022, we launched a wizard which assists in the migration of classic folder objects to modern folders, while keeping the existing structures and hierarchies.
We are now continuing this process by disabling executions in classic folders, along with a few other changes. It is hence more important than ever that you migrate your classic folders to modern folders, so as to ensure uninterrupted service.
资源目录脚本变更
已将必需的 -orchestratorUrl 参数添加到 MigrateTo-ResourceCatalog.ps1 脚本。
此外,现在升级 Orchestrator 和资源目录服务时必须运行 MigrateTo-ResourceCatalog.ps1 脚本。
外部应用程序的精细权限
Administrators can now configure fine-grained tenant or folder permissions for external apps by assigning them to folders or tenants in Orchestrator. An external app gets the permissions required to perform particular operations in a folder or tenant through one or more roles.
应用程序获取组织级别和 Orchestrator 中为其定义的所有作用域的并集。删除其中任何一个作用域后,应用程序会根据剩余作用域保留访问权限级别。
您还可以使用组来简化外部应用程序管理,因为组允许您一起管理具有相似需求的对象。
个人工作区探索更新
我们引入了两个新选项,允许 Orchestrator 管理员控制停止个人工作区探索:
- Automatically stop exploring Personal Workspaces after - The process of exploring personal workspaces can now be stopped automatically after a configurable amount of time.
- Stop all active sessions for exploring Personal Workspaces - All currently active exploration sessions can be stopped.
Both options are available via the tenant settings (General tab > Personal Workspaces section).
新建凭据存储
现在,您可以将 Orchestrator 凭据存储在 AWS Secrets Manager 中。有关新添加的凭据存储的详细信息,请参阅 AWS Secrets Manager 集成。
Custom credential hosts and stores
You can now add an extra layer of security over your already secure credential stores. To that end, we have created the Orchestrator Credentials Proxy , which allows you to avoid creating a direct connection between Orchestrator and the credential store of your choice, and instead connect them through a proxy.
使用此代理由 UiPath.Orchestrator.dll.config 文件中的 Features.CredentialStoreHost.Enabled 参数控制,默认情况下为 false。
新的配置参数
我们已将 Plugins.SecureStores.CyberArkCCP.KeyStorageFlags 参数添加到 Orchestrator 配置文件中,以便您选择存储位置以及如何导入为 CyberArk CCP 凭据存储配置的客户端证书私钥。该操作有助于防止出现任何读/写限制或与访问权限相关的问题。
在 Orchestrator 中查看 Studio 包应用程序
Orchestrator 现在可以检索 Studio 包使用的应用程序。因此,您可以在以下位置看到它们:
- 在基础包的流程窗口“应用程序”部分中。
- In the Show release notes window for each package version.
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 PMis displayed as2023/2/24 16:48:25in Japanese, whereas you would see2022年7月5日 09時20分37秒before this change. - The elapsed time in seconds is now displayed as a precise number rather than an estimate, i.e.
10 seconds agoinstead ofa few seconds ago.
作为包要求的事件触发器
我们已优化了 Orchestrator,以便在创建流程时将事件触发器活动识别为包要求。将这些活动关联到 Integration Service 连接,并做进一步配置以满足您的业务需求,这一切都是为了更好地实现触发的自动化。
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.
队列项目的保留策略
整理 Orchestrator 数据库并设置保留策略,以永久删除旧队列项目或将其移动到指定存储。如果您需要更多时间做出决定,还可以选择将队列项目数据无限期保留在数据库中,这是默认应用的策略。此操作可助您有组织地释放数据库,并且 Orchestrator 的性能会更好。
Discover the retention policy tips and tricks on our documentation page .
导出使用情况数据
2025 年 4 月 22 日新增
现在您可以从 Orchestrator 环境中导出简短使用情况摘要,包括有关机器人、作业、流程、队列项、用户等的指标。
此外,您还可以将导出的数据文件上传到 UiPath™ 客户门户,以帮助我们更深入地了解使用情况并为您提供更全面的支持。
有关详细信息,请参阅“导出使用情况数据”。
改进
在后台导出网格
Nothing stops you from interacting with Orchestrator anymore, not even exporting grids! Exporting grids takes place in the background now, so it no longer prevents you from using Orchestrator until the export finishes. We optimized the experience, and we inform you in real-time about the successful outcome of the export. Moreover, you can find all of your exports centralized in the new My reports page.
Learn more about Exporting grids in the background .
导出操作的新警示
With great exports comes great responsibility. Therefore, a new alert informs you about the outcome of an export. If the export you initiated was successful, the alert logs the export with the Info severity, whereas for unsuccessful exports, the alert logs as Error. Navigating to the alert source by clicking the See more link in the alert email redirects you to the My reports page, highlighting the exact failed export. You will receive this new alert in your alert emails by default, but you can unsubscribe from it if it becomes too spamy.
UiPath.ConfigProtector.exe tool and Resource Catalog Service
UiPath.ConfigProtector.exe 工具现在可用于加密和解密资源目录服务敏感信息。
See the dedicated section for detailed instructions.
此改进带来了一些其他更新:
UiPath.ConfigProtector.exe工具已升级到 ASP.NET Core 6.0。- 添加了两个新参数:
--signing-settings- 这使您可以将所选的配置部分添加到工具的设置中。--keys/k- 这使您可以加密/解密未硬编码的密钥。
See the commands table for details on the new parameters.
Webhook 改进
-
Identify your webhooks more rapidly! We have added the Name (mandatory) and Description (optional) fields to the create and edit webhook flows in the user interface. Existing webhooks receive a name based on their GUID, such as
Webhook-c42b72b1-17fb-4643-ab9c-1bd2102f0ff6.These parameters are available in the API as well, plus a mandatory Key parameter, with the following mentions:
-
在 2023.4 内壁部署版本之前,“名称”参数将是可选。而在 2023.4 版本之后,您需要为通过 POST
odata/Webhooks端点创建的 Webhook 命名。 -
“密钥”参数为必填项,是我们系统中 Webhook 的唯一标识符,因此无法更改。
-
If you do not provide a name for your webhook using the POST method, a name will be automatically generated for it, by appending the Key value to
Webhook.Read more details in our documentation .
-
-
作业和队列项目的 Webhook 事件现在包括更多属性:
- 作业事件的特定优先级值
- 队列项目事件的处理异常时间戳和创建者用户 ID
可用性改进
作业
- “作业详细信息”窗口现在包含“包版本”字段,该字段指示用于运行作业的包版本。
- We have added two new time columns to the Jobs grid, displaying either the relative or the absolute time of when a job was created. Make sure to select these columns on the Columns filter, as they are not visible by default.
- 您现在可以在多个“帐户-计算机”对上启动作业。为完成此操作,您只需在“开始作业”页面上启用“选择有效的帐户-计算机映射”选项,然后单击“添加帐户-计算机映射” 。添加所需对后,系统会为每个对创建“待处理”作业。
警示
从警示下拉列表中访问警示会自动将其标记为已读,同时会将您重定向到警示来源。
用户界面
- The More Actions menu of several Automations pages has been redesigned to group similar actions together. Additionally, we renamed the labels for View Logs and View all logs for his process to View logs of this job and View logs of all jobs for this process, respectively.
- We added two new time columns to the Jobs grid, displaying either the relative or absolute time of when a job was created. Make sure to select these columns on the Columns filter, as they are not visible by default.
- 与 AWS Secrets Manager 策略验证相关的错误消息现在包含更多详细信息。
安全性
您在 Orchestrator 操作中输入的参数不再保存在我们的数据库中。该操作消除了通过审核访问敏感信息的风险,从而增强了数据的安全性。
应用程序
- The Test Automation feature is now installed by default along with your Orchestrator instance. As such, the Testing tab from Orchestrator is displayed by default after installation, unless you manually remove it during the installation process.
- 在应用程序启动/重新启动时,您现在可以在独立 Orchestrator 的事件查看器日志和 Automation Suite Orchestrator 的 Docker 容器日志中看到 Orchestrator 版本。
触发器
我们删除了仅在与其所属租户具有相同时区的时间触发器上创建非工作日日历的限制。从现在开始,您添加到触发器的任何日历都将被解释为与触发器的时区相符。
更新
- 更新队列项目状态的操作现在将忽略已删除的租户。这可以防止在检测到没有订阅源的租户时阻止队列项目转换的情况。
- 如果未在 Orchestrator 中配置更新策略(即禁用更新模块),服务器将不再请求执行任何 Studio 或机器人更新,即使已在这些服务中启用模块。
权限
The Create option for the Execution Media permission is now enabled by default within the tenant-level Automation User role.
日志
We know logs are the core of debugging and identifying faulty behaviors. This improved Orchestrator functionality allows you to access the logs across all job executions of a particular process. See how in our documentation .
通过 API 改进功能
- 现在,当通过 API 创建的流程计划包含无效的时区 ID 时,将返回带有
InvalidTimeZoneId = 1614错误代码的400 Bad Request响应。 - You can now upload a process package from an external feed via the
/odata/Processes/UiPath.Server.Configuration.OData.SetArgumentsendpoint. Just make sure the arguments displayed on the Processes page and the ones in the package are the same, as Orchestrator does not perform any validation on packages from external feed. - You can now assign licensing scopes to external applications. Find the newly added scopes in the Platform Management API Access resource list.
- Automation Hub URL 现在通过调用
/odata/Processes端点返回。
管理改进
组织访问权限策略
我们很高兴地宣布推出一项新功能,让您可以更好地控制可以访问组织数据的人员。从现在开始,您将能够根据您的特定需求定义自己的访问策略。这种增加的控制级别有助于确保只有授权用户才能访问敏感数据。
借助此增强功能,将根据用户在外部目录中的用户状态确定用户对组织数据的访问权限。这意味着您可以指定有权访问数据的人员,并拒绝其他所有人访问。
适用于 SAML 的多个签名证书
为了让您更加灵活地控制 SAML 身份验证流程,我们增加了对多个签名证书的支持。无论您是需要经常轮换签名证书,还是只想更好地控制 SAML 目录集成,我们都能满足您的需求。
配置 SAML 目录集成时,您可以使用元数据文档(推荐)导入设置,也可以手动输入签名证书。
错误修复
-
If the SAML integration at the host level was configured to use an external user mapping strategy with either the username or the external provider key, users that belonged to more than one organization were unable to log in.
-
The SAML SSO Configuration page displayed an incorrect Assertion Customer Service URL. As a workaround, you had to manually configure the Assertion Customer Service URL in the IDP without the partition ID. The Assertion Customer Service URL is now correctly displayed, and the manual workaround is no longer necessary. Upon upgrading to 2023.4+ you will need to change the Assertion Customer Service URL to include the partition ID.
-
上传新的自定义徽标后,预览功能将不再有效。您现在可以像以前一样在标头中预览新徽标。
-
We have fixed an issue that caused the password used for connecting to a storage bucket provider to be stored in the database. This occurred when you created or edited a storage bucket. The password could be retrieved by an SQL administrator with read access to the database, or by anyone with View permission on Audit via 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()) 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()) 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 有时会导致性能问题。现在,此问题已修复。
-
当您删除已分配给文件夹的计算机时,系统会保留分配,并且该计算机仍会显示在该文件夹中。将不再出现此问题。
-
迁移后,有时无法生成帐户-计算机映射,从而导致您无法运行作业。现在不会再出现该问题。
-
我们修复了一个死锁,该死锁会阻止使用特定机器人在传统文件夹中创建新作业。
-
我们限制在某些错误响应中暴露不必要的内部信息,从而提高了系统的安全性。
-
When you changed the name of a trigger, the Search in tenant page still displayed its previous name. Now, the updated name of the trigger is listed in the search results.
-
We have fixed an issue that caused credential store passwords to be stored in the database. The passwords could be retrieved by an SQL administrator with read access to the database, or by anyone with View permission on Audit via API.
-
Orchestrator 数据库日志中针对作业显示的时间戳不正确。
-
导出文件夹角色时,系统也会导出该角色的租户级别权限。现在,此问题已修复。
-
编辑队列项目的推迟日期时,所采用的是 UTC 值,而不是租户所在的时区值。
-
由于与文件夹删除相关的问题,存储桶文件被错误地删除。 具体来说,如果您取消某个文件夹与某个存储桶的链接,然后删除了该文件夹,则取消链接的存储桶中包含的文件也会被删除。 当您在未先取消链接存储桶的情况下删除文件夹时,也会发生同样的情况。 尽管存储桶仍与其他文件夹相关联,但仍会发生这种情况。
-
When you enabled account-machine mappings and started a job with the Allocate dynamically option set to the number of robots available, at least one job remained in a Pending state. Now, all jobs are correctly executed by all robots that are available to retrieve them.
-
未将执行正确分配给可用的机器人。当为同一模板调用大量机器人并将其分配给同一作业时,就会发生这种情况。
-
Active Directory 域现在的加载速度更快。这是因为我们采用了
GetTrustedDomainNames方法的缓存和可配置的缓存过期值。 -
编辑队列项目的推迟日期时,所采用的是 UTC 值,而不是租户所在的时区值。
-
当您使用平台配置工具更新 URL 时,
[dbo].[UserLogins]记录未相应更新,从而会导致登录问题。 -
当用户尝试使用从其他用户处收到的 URL 访问 Orchestrator,并且收到的 URL 包含用户特定的数据时,系统会显示空白页面,并且用户无法访问 Orchestrator。现在,在这种情况下,系统会将用户重定向到登录页面。
-
The process version included in the Job Details window was incorrect, displaying the latest version uploaded to Orchestrator. Now, the Process Version field correctly renders the version used to run the job.
-
Filtering by host identity on the Jobs and Logs pages did not work correctly for jobs executed via accounts without credentials. When running jobs on Windows machines, the Host Identity column was populated with the actual identity of the robots (domain\username), however, filtering by this value returned no jobs. When running jobs on Linux machines, jobs were executed under Root, but this value was not available for filtering.
-
The OK and Cancel buttons in the upgrade warning window were not properly displayed in the Japanese version of the application. They are now visible.
重大变更
“上次登录”列
The Last Login column is no longer displayed in the Orchestrator tenant-level License page for Attended licenses. This allows details to be loaded faster in environments containing upwards of 300.000 attended robots. However, if you would like to retrieve this information, you can use the /api/UserPartition/users/{partitionGlobalId} endpoint.
已知问题
监控页面问题
2023 年 4 月 24 日添加
The Jobs History and Transactions graphs in the Overview section of the Monitoring page are sometimes not displayed properly when using Mozilla Firefox. If this happens, refreshing the browser should solve the problem.
我们将在下一个累积更新中修复该问题。
外部应用程序权限问题
2023 年 4 月 28 日添加
There is a disconnect between external apps permissions and the Identity Server, preventing you from adding external apps to a tenant or a folder.
您可以通过将以下参数添加到 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。否则,您将遇到功能问题。
升级时使用最新的补丁版本
添加于 2024 年 10 月 3 日
升级到主要版本时,升级可能会失败,并显示 NLog 扩展程序 UiPath.Orchestrator.Logs.Elasticsearch.dll 与新版本 Orchestrator 不兼容的错误。为避免此问题,您应始终使用最新补丁版本。
弃用时间表
我们建议您定期查看弃用时间表,以获取有关针对即将弃用和删除功能的任何更新。
- 新增功能
- 标签管理门户
- 视频作业录制
- 限制传统文件夹
- 资源目录脚本变更
- 外部应用程序的精细权限
- 个人工作区探索更新
- 新建凭据存储
- Custom credential hosts and stores
- 新的配置参数
- 在 Orchestrator 中查看 Studio 包应用程序
- New date formatting library
- 作为包要求的事件触发器
- 队列项目的保留策略
- 导出使用情况数据
- 改进
- 在后台导出网格
- UiPath.ConfigProtector.exe tool and Resource Catalog Service
- Webhook 改进
- 可用性改进
- 通过 API 改进功能
- 管理改进
- 错误修复
- 重大变更
- “上次登录”列
- 已知问题
- 监控页面问题
- 外部应用程序权限问题
- 身份已知问题
- 升级时使用最新的补丁版本
- 弃用时间表