Orchestrator
v2023.4
  • リリース ノート
    • v2023.4
    • 2023.4.1
    • 2023.4.2
    • 2023.4.3
    • 2023.4.4
    • 2023.4.6
    • 2023.4.7
バナーの背景画像
Orchestrator リリース ノート
最終更新日 2024年4月3日

v2023.4

公開日: 2023 年 4 月 24 日

更新内容

タグ管理ポータル

サービス全体で使用するタグを一元管理できるようになりました。組織の [管理] セクションでテナント レベルの設定画面を開くと、[タグ] ページを利用できます。このページ 1 箇所からタグを追加、編集、削除できるため、タグを設定するために個々のオブジェクトに何度もアクセスする必要がありません。

ジョブのビデオ記録

ビデオ記録機能を追加し、ジョブのトラブルシューティングをこれまで以上に効率的に行えるようにしました。この機能は、すべての無人実行でプロセス レベルで利用できます (現在はプレビュー版としてのみ利用可能)。

すべてのジョブを記録するか、失敗したジョブのみを記録するかを選択できます。また、記録には 7 日間アクセスできます。

今回のリリースでは、既存のスクリーンショットのオプションが Enterprise プランのユーザーだけでなく、すべてのユーザーに対して利用できるようになりました。

クラシック フォルダーを制限する

2021 年 10 月、UiPath はクラシック フォルダーの非推奨化を発表しました。

2022 年 4 月にはクラシック フォルダーの削除を発表しています。

2022 年 10 月には、既存の構造と階層を維持しながら、クラシック フォルダー オブジェクトのモダン フォルダーへの移行を支援するウィザードの提供を開始しました。

今回のリリースでは、クラシック フォルダーでのジョブの実行を無効化し、その他にもいくつかの変更を加えました。このためサービスを中断されないようにするには、クラシック フォルダーをモダン フォルダーに移行することがこれまで以上に重要となります。

リソース カタログのスクリプトの変更

必須の -orchestratorUrl パラメーターが MigrateTo-ResourceCatalog.ps1 スクリプトに追加されました。
さらに、Orchestrator とリソース カタログ サービスをアップグレードする場合、MigrateTo-ResourceCatalog.ps1 スクリプトの実行が必要になりました。

外部アプリに対するきめ細かい権限

管理者が外部のアプリをフォルダーまたはテナントに割り当てることで、フォルダーまたはテナント レベルで権限をきめ細かく設定できるようになりました。外部アプリには 1 つまたは複数のロールによって、フォルダーまたはテナントで特定の操作を実行するために必要な権限が与えられます。

アプリが有効な範囲は、組織レベルと Orchestrator で定義されたすべての範囲の和集合です。いずれかの範囲を削除すると、残った範囲に応じたアクセス レベルがアプリに残されます。

また、グループ機能を使用すれば類似したニーズを持つオブジェクトを一元管理できるため、グループで外部アプリの管理を簡略化することもできます。

個人用ワークスペースの探索機能の更新

Orchestrator の管理者が個人用ワークスペースの探索の停止を制御できるオプションを 2 つ追加しました。

  • 指定時間の経過後に個人用ワークスペースの探索を自動停止 - 指定した時間が経過すると、個人用ワークスペースの探索プロセスが自動的に停止されます。

  • 個人用ワークスペースの探索に使用されているすべてのアクティブなセッションを停止 - 現在アクティブな探索セッションがすべて停止されます。

どちらのオプションもテナント設定 ([全般] タブ> [個人用ワークスペース] セクション) で利用できます。

新しい資格情報ストア

Orchestrator の資格情報を AWS Secrets Manager に保存できるようになりました。新たにサポートされる資格情報ストアについて詳しくは、「AWS Secrets Manager との連携」をご覧ください。

新しい構成パラメーター

Plugins.SecureStores.CyberArkCCP.KeyStorageFlags パラメーターが Orchestrator の構成ファイルに追加され、CyberArk CCP の資格情報ストア用に設定されたクライアント証明書の秘密キーの保存場所とインポート方法を選択できるようになりました。これは、読み取り/書き込みの制限やアクセス権に関連する問題の防止に役立ちます。

Studio パッケージのアプリケーションを Orchestrator で表示できるように

Studio パッケージで使用されているアプリケーションの情報が Orchestrator で取得されるようになりました。このため、アプリケーションのリストを以下の場所で確認できます。

新しいデータ形式ライブラリ

ロケール間の表示形式をより統一するため、日付と時刻の形式のライブラリを新しいものに切り替えました。この変更がユーザー エクスペリエンスに及ぼす影響はありません。ただし、以前のライブラリと比較すると以下のような改良点があります。

  • すべてのロケールの日付や時刻の表示形式で、同じ数字や文字の組み合わせが一貫して使用されます。たとえば、英語の 2/24/2023, 4:48:25 PM は日本語では 2023/2/24 16:48:25 と表示されます。以前は 2022年7月5日 09時20分37秒 のように表示されていました。
  • 経過時間が秒単位で表示される際に、おおまかな表記ではなく正確な数字が表示されます。たとえば、a few seconds ago ではなく 10 seconds ago と表示されるようになりました。

イベント トリガーがパッケージ要件として識別されるように

イベント トリガーのアクティビティがプロセス作成時のパッケージ要件として識別されるようになりました。これらを Integration Service のコネクションに関連付けて、ビジネスのニーズに合わせて設定をさらに加えることで、トリガーされたオートメーションがスムーズに動作します。

イベント トリガーについてはこちらを、その設定方法についてはこちらをご覧ください。

重要: 2023.4 のリリース ノートで、イベント トリガーがオンプレミスの Orchestrator インスタンスで利用可能である旨が誤って記載されていました。この機能は、オンプレミスの Orchestrator では利用できません。ご迷惑をおかけして申し訳ございません。

キュー アイテムの保持ポリシー

Orchestrator のデータベースを整理した上で、古いキュー アイテムを完全に削除するか、指定のストレージに移動する保持ポリシーを設定します。時間をかけて判断する必要がある場合は、キュー アイテムのデータをデータベース内に無期限に保持するオプションもあります。既定で適用されているのは、このポリシーです。この機能により、秩序立った方法でデータベースが解放され、Orchestrator のパフォーマンスが向上します。

保持ポリシーの活用方法について詳しくは、こちらをご覧ください。

改良点

グリッドをバックグラウンドでエクスポートする

Orchestrator を操作しながらグリッドをエクスポートできるようになりました。グリッドのエクスポートがバックグラウンドで行われ、エクスポートの完了を待たずに Orchestrator を使用できるようになりました。エクスポートが成功すると、リアルタイムで通知が届きます。さらに、すべてのエクスポートの情報が [マイ レポート] ページに集約されるようになりました。

詳しくは、「グリッドをバックグラウンドでエクスポートする」をご覧ください。

エクスポート操作の新しいアラート

これに伴い、エクスポートの結果を通知するアラートを追加しました。開始したエクスポートが成功した場合は、アラートのログは重要度 Info として記録されますが、エクスポートが失敗した場合は、Error として記録されます。アラート メールの [その他を表示] のリンクをクリックして元のアラートに移動すると、[マイ レポート] ページにリダイレクトされ、該当の失敗したエクスポートが強調表示されます。このアラートについては既定でメールが送信されますが、不要な場合はサブスクリプションを解除できます。

UiPath.ConfigProtector.exe ツールとリソース カタログ サービス

UiPath.ConfigProtector.exe ツールを使用して、リソース カタログ サービスの機密情報を暗号化/復号できるようになりました。

詳しくは、こちらの専用セクションをご覧ください。

これに伴い、以下点が更新されました。

  • UiPath.ConfigProtector.exe ツールを ASP.NET Core 6.0 にアップグレードしました。
  • 次の 2 つのパラメーターが追加されました。

    • --signing-settings - ツールの設定に任意の設定セクションを追加できます。
    • --keys / k - ハードコードされていないキーを暗号化/復号できます。

新しいパラメーターについて詳しくは、こちらのページからコマンドの表をご覧ください。

Webhook の改良点

  • Webhook をすばやく見つけられるようになりました。Webhook の作成および編集のフローのインターフェイスに、[名前] フィールド (必須) と [説明] フィールド (任意) を追加しました。既存の Webhook は、GUID に基づいて Webhook-c42b72b1-17fb-4643-ab9c-1bd2102f0ff6 のような名前を受け取ります。

    これらのパラメーターは API でも利用できます。API では [キー] パラメーター (必須) も追加されています。ただし、以下の点にご注意ください。

    • [名前] パラメーターは v2023.4 のオンプレミス リリースまでは任意です。v2023.4 以降は、POST odata/Webhooks エンドポイントを介して作成される Webhook には名前を指定する必要があります。
    • 必須の [キー] パラメーターはシステム内で Webhook に付与される一意の識別子であるため、変更できません。

    • POST メソッドで Webhook の名前を指定しない場合は、「Webhook」に [キー] の値を追加した名前が自動的に生成されます。

      詳しくは、こちらのドキュメントをご覧ください。

  • ジョブとキュー アイテムの Webhook イベントに以下のプロパティを追加しました。

    • ジョブ イベントの SpecificPriorityValue

    • キュー アイテム イベントの ProcessingExceptionTimestampCreatorUserId

使用性の改良

ジョブ

  • [ジョブの詳細] ウィンドウに [パッケージのバージョン] フィールドを追加しました。ジョブの実行にパッケージのどのバージョンが使用されたのかが示されます。

  • [ジョブ] グリッドに時刻の列を 2 つ追加し、ジョブの作成時刻の相対時間と絶対時間のいずれかを表示できるようにしました。これらの列は既定では表示されないため、[列] フィルターで選択するようにしてください。

  • ジョブを複数のアカウントとマシンのペアで開始できるようになりました。そのためには、[ジョブを開始] ページで [有効なアカウントとマシンのマッピングを選択] オプションを有効化し、[アカウントとマシンのマッピングを追加] をクリックする必要があります。目的のペアを追加すると、ペアごとに保留中のジョブが作成されます。

アラート

アラートのドロップダウン リストからアラートにアクセスすると、アラートのソースにリダイレクトされ、アラートが自動的に既読としてマークされるようになりました。

ユーザー インターフェイス

  • [オートメーション] ページの [その他のアクション] メニューのデザインを改良し、類似のアクションをグループ化しました。さらに、[ログを表示][このプロセスのすべてのログを表示] ラベルの名称を、それぞれ [このジョブのログを表示][このプロセスのすべてのジョブのログを表示] に変更しました。

  • [ジョブ] グリッドに時刻の列を 2 つ追加し、ジョブの作成時刻の相対時間と絶対時間のいずれかを表示できるようにしました。これらの列は既定では表示されないため、[列] フィルターで選択するようにしてください。

  • AWS Secrets Manager のポリシー検証に関するエラー メッセージに詳細が表示されるようになりました。

セキュリティ

Orchestrator の操作の一環として入力したパラメーターがデータベースに保存されなくなりました。これにより、監査によって機密情報にアクセスされるリスクがなくなるため、データのセキュリティが強化されます。

アプリケーション

  • Test Automation 機能が Orchestrator インスタンスと共に既定でインストールされるようになりました。したがって、インストールの処理中に手動で Test Automation を削除しない限り、インストール後には Orchestrator の [テスト] タブが既定で表示されます。

  • Orchestrator のバージョンがアプリケーションの開始時/再起動時に表示されるようになりました。スタンドアロン Orchestrator の場合はイベント ビューアーのログに、Automation Suite Orchestrator の場合は Docker コンテナーのログに表示されます。

トリガー

これまではタイム トリガーで非稼働日カレンダーを作成する際にテナントと同じタイム ゾーンを使用する必要がありましたが、今回の更新でその制限を撤廃しました。トリガーにカレンダーを追加すると、トリガーのタイム ゾーンに合わせてカレンダーが解釈されます。

更新

  • キュー アイテムのステートを更新する操作で、削除済みのテナントが無視されるようになりました。これにより、フィードを持たないテナントが検出されても、キュー アイテムのステートの移行がブロックされることがなくなりました。

  • Orchestrator に更新ポリシーが設定されていない場合 (すなわち、更新モジュールが無効化されている場合)、これらのサービスで更新モジュールが有効化されていても、サーバーは Studio や Robot の更新の実行を要求しなくなりました。

権限

実行メディア作成権限のオプションが、テナントレベルの Automation User ロールで既定で有効化されるようになりました。

ログ

デバッグや不具合の検出において、ログは非常に重要です。特定のプロセスのすべてのジョブ実行のログにまとめてアクセスできるようになりました。詳しくは、こちらをご覧ください。

API 経由の機能の改良点

  • API 経由で作成したプロセス スケジュールに無効なタイム ゾーン ID が含まれている場合、応答 400 Bad Request とエラー コード InvalidTimeZoneId = 1614 が返されるようになりました。
  • /odata/Processes/UiPath.Server.Configuration.OData.SetArguments エンドポイントを使用して、外部フィードからプロセスのパッケージをアップロードできるようになりました。ただし、Orchestrator は外部フィードのパッケージに対して検証を実行しないため、[プロセス] ページに表示される引数とパッケージの引数を一致させるようにしてください。
  • 外部アプリケーションにライセンス スコープを割り当てられるようになりました。新たに追加されたスコープは、プラットフォーム管理 API アクセスのリソース リストで確認できます。

  • /odata/Processes エンドポイントへの呼び出しを介して Automation Hub URL が返されるようになりました。

管理の改良点

組織のアクセス ポリシー

組織のデータにアクセスできるユーザーをより細かく制御する新機能を追加しました。今後は、独自のアクセス ポリシーをユーザーの特定のニーズに基づいて定義できます。このように管理レベルが追加されることで、承認済みユーザーだけが機密データにアクセスできるように徹底できます。

この強化により、組織のデータに対するユーザーのアクセス権は、外部ディレクトリでのそのユーザーのステートに基づいて決定されます。つまり、データにアクセスできるユーザーを指定し、他のユーザーのアクセスは拒否できるようになります。

SAML の複数の署名証明書

SAML 認証プロセスをより柔軟かつ細かく制御できるように、複数の署名証明書のサポートを追加しました。署名証明書を頻繁にローテーションする必要がある場合にも、SAML ディレクトリとの連携をより細かく制御したい場合にも対応できます。

SAML ディレクトリとの連携を構成する場合、メタデータ ドキュメントを使用して設定をインポートするか (推奨)、手動で署名証明書を入力できます。

バグ修正

  • ホスト レベルでの SAML 連携で、外部ユーザーのマッピングにユーザー名または外部プロバイダーのキーを使用するよう設定していると、複数の組織に属するユーザーがログインできませんでした。
  • [SAML SSO の構成] ページに、誤った アサーション コンシューマー サービス URLが表示されていました。この問題の回避策として、パーティション ID を含まないアサーション コンシューマー サービス URL を IDP に手動で設定する必要がありました。現在は、アサーション コンシューマー サービス 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 サーバーの最新バージョンを使用するか、BeyondTrust サーバーの最新バージョンにアップグレードすると、連携の問題が発生することがあります。現在は、期待どおりに動作するようになりました。
  • 負荷分散と SignalR を使用すると、パフォーマンスの問題が発生することがありました。この問題は現在は修正されました。
  • フォルダーに割り当てられたマシンを削除しても割り当てが保持され、マシンがそのフォルダー内に表示されたままになっていました。この問題は、現在は修正されました。
  • 移行後にアカウントとマシンのマッピングが生成されず、ジョブを実行できなくなることがありました。この問題は、現在は修正されました。
  • 特定のロボットを使用しているとクラシック フォルダーで新しいジョブを作成できないデッドロックを修正しました。
  • 不必要な内部情報が特定のエラー応答で公開されないように制限を行い、システムのセキュリティを向上させました。
  • トリガーの名前を変更しても、[テナント内を検索] ページに以前の名前が表示され続けていました。現在は、更新後のトリガーの名前が検索結果に表示されるようになりました。
  • 資格情報ストアのパスワードがデータベースに保存されていた問題を修正しました。このパスワードは、データベースに対して読み取りアクセス権を持つ SQL 管理者、または監査に対する表示権限を持つすべてのユーザーが API 経由で取得できていました。
  • Orchestrator データベースのログに表示されるジョブのタイムスタンプに誤りがありました。
  • フォルダー ロールをエクスポートすると、そのロールのテナント レベルの権限もエクスポートされていました。この問題は現在は修正されました。
  • キュー アイテムの延期日を編集する際に、テナントのタイム ゾーンの値ではなく UTC の値が使用されていました。
  • フォルダーの削除に関する問題が原因で、ストレージ バケット ファイルが誤って削除されていました。具体的には、ストレージ バケットとフォルダーのリンクを解除した後にそのフォルダーを削除すると、リンクを解除されたストレージ バケットに含まれるファイルも削除されていました。また、ストレージ バケットのリンクを最初に解除せずにフォルダーを削除した場合にも同じ問題が発生していました。この問題は、ストレージ バケットがまだ他のフォルダーにリンクされていても発生していました。
  • アカウントとマシンのマッピングを有効化し、[動的に割り当て] オプションが利用可能なロボットの数に設定されたジョブを開始すると、少なくとも 1 つのジョブが [保留中] ステートに留まっていました。現在は、ジョブを取得できるすべてのロボットで、すべてのジョブが正しく実行されるようになりました。
  • 利用可能なロボットに実行が正しく割り当てられていませんでした。この問題は、多数のロボットを同じテンプレートに対して呼び出して、同じジョブに割り当てた場合に発生していました。
  • Active Directory ドメインの読み込みが高速化しました。これは、キャッシュを利用するようになったため、および GetTrustedDomainNames メソッドのキャッシュ有効期限の値が設定可能になったためです。
  • キュー アイテムの延期日を編集する際に、テナントのタイム ゾーンの値ではなく UTC の値が使用されていました。
  • プラットフォーム構成ツールを使用して URL を更新した場合、[dbo].[UserLogins] レコードが適宜更新されないため、ログインに問題が発生していました。
  • あるユーザーが別のユーザーから受け取った URL を使用して Orchestrator にアクセスしようとした場合に、受け取った URL にユーザー固有のデータが含まれていると、空白のページが表示され、Orchestrator にアクセスできませんでした。このような場合、ログイン ページにリダイレクトされるようになりました。
  • [ジョブの詳細] ウィンドウに表示されるプロセスのバージョンとして、Orchestrator にアップロードされた最新のバージョンが誤って表示されていました。現在、[プロセスのバージョン] フィールドにはジョブの実行に使用されるバージョンが正しく表示されるようになりました。
  • 資格情報が設定されていないアカウントで実行したジョブを [ジョブ] ページおよび [ログ] ページの一覧で確認する際に、ホスト ID で正しくフィルター処理できませんでした。Windows マシンでジョブを実行した場合、[ホスト ID] 列にはロボットの実際の ID (ドメイン\ユーザー名) が表示されますが、この ID でジョブをフィルター処理してもジョブが表示されませんでした。Linux マシンでジョブを実行した場合、ジョブは「Root」のホスト ID 下で実行されますが、この値をジョブのフィルター処理に使用できませんでした。
  • アップグレードの警告ウィンドウに表示される [OK] ボタンと [キャンセル] ボタンが、日本語版のアプリケーションで正しく表示されていませんでした。現在はボタンが正しく表示されます。

重大な変更

[前回のログイン] 列

テナントレベルの [ライセンス] ページの [Attended] ライセンスでは、[前回のログイン] 列が表示されなくなりました。これにより、Attended ロボットが 300,000 台以上含まれる環境でも、詳細情報がよりすばやく読み込まれるようになりました。ただし、この情報を取得したい場合は、/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 コマンドを実行して変更を適用します。

この問題は、次回の累積的な更新で修正される予定です。

Identity の既知の問題

2023 年 11 月 6 日追記

バージョン 2023.4.0 から 2023.4.2 では、Active Directory (AD) 統合環境を使用している場合、製品で散発的な障害が発生し、IIS アプリケーション プールが再起動します。この問題は v2023.4.3 で修正されていますが、前述のバージョンはいまだに影響を受けています。したがって、AD を使用する場合は、v2023.4.3 を直接インストールするか、v2023.4.3 にアップグレードすることを強くお勧めします。そうしないと、機能の問題が発生します。

非推奨化のタイムライン

非推奨化および削除される機能に関する最新情報については、非推奨化のタイムラインを定期的に確認することをお勧めします。

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.