自動化

UiPathのスクリーンショット取得|Studioのアクティビティ設定とOrchestratorレコーディングの使い分け

UiPathでスクリーンショットを残したい場面は、業務の途中で証憑として画像を残したいときと、夜間に無人で動かしたロボットが落ちた理由を後から追いたいときの2つに分かれます。使う機能も設定場所も別です。この記事では両方の設定値を公式ドキュメントの記載に沿って整理し、どちらを選ぶかの判断軸と、運用前に潰しておくべき制約までをまとめます。

まとめ:UiPathでスクリーンショットを残す2経路と、その分岐点

結論から書きます。撮るタイミングと保存先を自分で決めたいなら、Studioのスクリーンショットを作成アクティビティを使います。対象範囲と保存先を決めれば画像ファイルが残る代わりに、ワークフローの改修とパッケージの再発行が必要になります。

すでに本番稼働しているプロセスの失敗原因を追いたいなら、Orchestratorのレコーディングを有効にしてください。プロセスの設定画面で有効化するだけで、パッケージを再発行せずに、失敗したジョブの最後の場面がビデオまたはスクリーンショットとして残ります。ただし無人オートメーション専用で、有人実行では取得できません。

設定値でつまずきやすいのは、Orchestrator側のスクリーンショット取得頻度です。単位は秒ではなくミリ秒(既定500・最小250)で、秒のつもりで入れると桁の違う間隔を指定することになります。以下、それぞれの設定項目と制約を順に見ていきます。

Studioの[スクリーンショットを作成]で任意の場面を撮る設定項目

業務の途中で確実に画像を残したい場合は、Studioのスクリーンショットを作成アクティビティを使います。内部名はUiPath.UIAutomationNext.Activities.NTakeScreenshot、対応するのはWindows – レガシ、Windows、クロスプラットフォームの各プロジェクトです。主に設定するのは作業スコープ、スクリーンショットの対象範囲、出力先、ファイル名、自動インクリメント。ブラウザー操作の自動化全般の位置づけはBrowser Automationとは何か?Webブラウザ操作を自動化する技術の概要を詳しく解説で扱っています。

対象範囲3種と出力先3種の選び分け

このアクティビティは[アプリケーション/ブラウザーを使用]アクティビティの内側でも外側でも使えます。内側に置くと対象アプリケーションだけがキャプチャされ、アプリケーションカードの外側でターゲットを指定しない場合はデスクトップ全体がキャプチャされます。[スクリーンショットの対象範囲]で選べるのは[メイン ウィンドウ](既定)、[要素]、[デスクトップ]の3つです。[デスクトップ]は UI Automation v25.10.32 で追加された選択肢で、アプリケーションカード内で使っていても全画面をキャプチャできます。それ以前のパッケージを使っている環境で「カードの中に置いたのに全画面が撮れない」という場合は、まずパッケージのバージョンを確認してください。

[出力先]はラジオボタンで、[ファイル](既定)、[画像]、[クリップボード]から選びます。ファイルとして残すだけなら[ファイル]で完結し、後続の処理で画像変数として扱いたいときは[画像]、Excelなど別アプリへ貼り付けたいときは[クリップボード]という分岐です。

ここで一段深い分岐があります。[出力先]の選択はクロスプラットフォームプロジェクトでは利用できません(WindowsとWindows – レガシでは選べます)。クロスプラットフォームでファイルが欲しい場合は、[出力先]ではなく出力プロパティの[スクリーンショットのファイル]を使います。公式ドキュメントはこれを「.png ファイルとして保存されるスクリーンショットです」と説明しており、[出力先]とは独立した経路です。

Windowsプロジェクトで[画像]を選んだときの受け皿になるのが画像を保存アクティビティで、これは同名で2本存在します。新しい側がUiPath.UIAutomationNext.Activities.NSaveImage、Windows – レガシ側がUiPath.Core.Activities.SaveImageです。どちらも[Image]プロパティがImage変数のみを受け付け、[FileName]に保存先のフルパスとファイル名を指定します。なおNSaveImageはアクティビティ単体としてはクロスプラットフォームにも対応していますが、その場合の入力となるImage変数はNTakeScreenshotからは得られません。

ファイル名の上書きを防ぐ自動インクリメント3種

[出力先]に[ファイル]を選んだときに効いてくるのが[自動インクリメント]です。既定は[なし (上書き)]で、同じ名前のファイルが既に存在すると置き換えられます。ループの中でスクリーンショットを撮る処理を固定ファイル名で組むと、最後の1枚しか残りません。残したい場合は残る2つを使います。[インデックス]はファイル名に連続する数値を追加する方式で、Filename (N+1) の形になります。[YYYY.MM.DD at HH.MM.SS]は作成日時を追加する方式です。Windows – レガシのドキュメントには screenshot (1).pngscreenshot 2020.06.22 at 10:22:32 という具体例が示されています。証跡として時系列で並べたいなら後者が扱いやすく、式を自作して日時を組み立てる必要はありません。

撮った画像をOrchestratorのストレージバケットへ退避する構成

ロボット実行端末のローカルディスクに画像を置いたままでは、端末の入れ替えや共有の手間で証跡になりません。ストレージ ファイルをアップロードアクティビティ(UiPath.Core.Activities.Storage.UploadStorageFile)で、Orchestratorのストレージバケットへ送るのが素直な構成です。このアクティビティは実行するロボットのOrchestratorアカウントで動くため、対象フォルダーに対してStorage Buckets.ViewStorage Files.CreateFolders.View の権限が必要です。タイムアウトの既定値は30000ミリ秒(30秒)なので、画像サイズが大きい場合や回線が細い場合はここを延ばします。

この構成なら、後述するOrchestratorレコーディングの保持期間の制約も受けません。トライキャッチのキャッチ側でスクリーンショットを撮ってアップロードする形にしておけば、レコーディングでは拾えない有人実行のエラーも証跡化できます。

Orchestratorのレコーディングで残せるもの:無人ジョブ限定のビデオとスクリーンショット

Orchestratorのレコーディングは、ジョブが失敗したときのトラブルシューティングを目的とした機能です。ジョブが失敗するたびに、実行の最後の瞬間を示すビデオまたはスクリーンショットがダウンロードできるようになります。公式ドキュメントは「この機能は無人オートメーションでのみ利用できます」と明記しており、有人(Attended)実行は対象外です。ロボットとOrchestratorの役割分担そのものについては、UiPathとは?三層構成・ライセンス・LTS運用から導入判断まで実装目線で解説【2026年版】で整理しています。

[ジョブの記録]の設定場所と、記録設定3種の適用条件

設定はプロセスの作成時に行うほか、後から[プロセスの設定]ウィンドウで有効化できます。[ジョブの記録]オプションは、プロセスの作成/編集ウィンドウの[その他の設定]タブにあり、既定では無効です。有効化すると次の3つの設定が行えます。

  • 失敗したジョブのみを記録して保存:失敗したジョブの実行だけを記録します。Robotバージョン2023.2以降が条件です。
  • 失敗したキューのトランザクションを記録して保存:失敗したキュートランザクションを含むジョブの実行だけを記録します。キューを1つ以上含むプロセスでのみ有効化でき、Robotバージョン2023.10以降かつ2023.10以降のシステムアクティビティを使うプロセスが条件です。
  • すべてのジョブを記録:成功・失敗を問わず全実行を記録します。Robotバージョン2023.2以降が条件です。

キュートランザクションの記録には落とし穴があります。公式ドキュメントは、記録が実行されるのは専用のキューアイテムアクティビティを使う場合のみで、HTTPアクティビティや外部API呼び出しでキューアイテムのステータスを変更する場合はサポートされないと注記しています。API経由でトランザクションを完了させる実装をしている場合、この設定を入れても記録は残りません。

スケーリング・頻度・待機期間の既定値と、秒とミリ秒の取り違え

スクリーンショットとして記録する場合、設定できる値は3つです。

設定項目 単位 公式が示す範囲 既定値
スケーリング 最大 100 100
頻度 ミリ秒 最小 250 500
待機期間 最大 120 40

スケーリングはスクリーンショットの縮小率で、100が原寸です。頻度はスクリーンショット間の時間間隔で、既定の500は0.5秒間隔を意味します。3つ目の[待機期間]は日本語UIのラベルが分かりにくい項目です。英語版では「the length of time before failure to start the recording, in seconds」と書かれており、失敗の何秒前から記録を開始するかを指します。既定値のままなら、ジョブが落ちた時点から40秒さかのぼった区間が記録の対象になる、という読み方です。ロボットが何秒待つかの設定ではありません。なお日本語ドキュメントには「このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません」と冒頭に注記があるため、ラベルの意味が取りにくいときは英語版と突き合わせるのが確実です。

ビデオとして記録する場合は、設定項目ではなく固定仕様です。実行の最後の3分間が記録されます。無人ジョブを中断して後で再開した場合、ビデオには再開後の実行のみが含まれ、中断イベントより前の実行は最終的な記録に残りません。長時間実行のワークフローで中断・再開を挟む設計にしているなら、この点は事前に把握しておく必要があります。

記録の閲覧場所と、ビデオ タイムラインでのログ突き合わせ

記録した内容は、[ジョブの詳細]タブの[記録を開く]、[ビデオ タイムライン]タブ、各ジョブのコンテキストメニューの[ビデオ録画を開く]から確認できます。失敗したキュートランザクションの記録は、対象トランザクションのコンテキストメニューかトランザクションの詳細ウィンドウの[記録を開く]から開きます。プロセスレベルで記録が有効化されていない場合と、トランザクションが失敗しなかった場合は、このオプションが非アクティブになります。

実務で効いてくるのは[ビデオ タイムライン]タブです。ログがビデオのタイムスタンプと同期しているため、ログエントリをクリックするとビデオ内の該当ポイントへ移動できます。ログの絞り込みは重要度レベルと検索フィールドの2通り。各ログ項目の詳細はJSON形式で確認できます。「例外は出ているが画面で何が起きたか分からない」という調査は、この突き合わせで進められます。

ブラウザーによる機能差もあります。再生に使うメディアプレイヤーはChrome・Firefox・Edge・Safariに対応しますが、SafariとFirefoxにはビデオ録画をダウンロードするオプションがありません。Firefoxでは再生速度の調整とピクチャインピクチャも使えません。証跡をローカルへ落として保管する運用なら、調査担当の端末はChromeかEdgeに寄せてください。

運用前に潰す制約:保持期間・実行メディア権限・実行基盤による差

ビデオは最長14日、スクリーンショットは30日という保持期間の壁

記録は永続保存されません。ビデオの保持期間はライセンスプランで変わります。

プラン 失敗ジョブ・失敗トランザクション 成功ジョブ
Community 7日 3日
Enterprise 14日 7日

この期間を過ぎるとOrchestrator上でビデオは利用できなくなります。スクリーンショットは別扱いで、UiPathのストレージに保存されて30日間保持されると注記されています。監査対応や内部統制の証跡として月次・年次で保管したいなら、この期間では足りません。ドキュメント自身も「ビデオをローカルマシンに保存すれば、この制限を超えてアクセスできる」と案内しており、長期保管が要件なら期限内のダウンロードと自社ストレージへの退避を運用に組み込む必要があります。なお、ビデオ録画の操作はOrchestratorの監査に含まれます。

フォルダーレベルの[実行メディア]権限と、付与済みの既定ロール

この機能はフォルダーレベルの[実行メディア]権限で制御され、[表示](記録を見る)、[作成](ジョブを実行するアカウントに記録の作成を許可する)、[削除](Orchestratorからビデオを削除する)の3つがあります。作成権限を含む既定のフォルダーレベルロールは、Folder Administrator、Automation User、Robotです。既定ロールを使っている環境であれば、記録の作成側は追加設定なしで動きます。

逆に、カスタムロールで権限を絞り込んでいる環境では、記録は作られているのに調査担当が見られない、という状態が起きます。[ジョブ]ページと[プロセス]ページはそれぞれ独自の権限セットを持つため、調査担当のロールには実行メディアの表示だけでなく両ページの権限をあわせて付与してください。

サーバーレスで割れる、ビデオとスクリーンショットの可否

ここは公式ドキュメントの記載が節ごとに分かれているため、読み違えやすい箇所です。ビデオとスクリーンショットで、Cloudロボット – サーバーレスへの対応が異なります

ビデオ側は、記録設定3種のいずれにも可用性の条件として「Automation Cloud ロボット – サーバーレス」が挙がっており、サーバーレスでも利用できます。ただしサーバーレスで実行できるのはバックグラウンドのクロスプラットフォームプロセスのみで、公式は「既知の問題により、UIAを使用したフォアグラウンドジョブはバックグラウンドジョブとして解釈される」と注記しています。画面操作を伴う自動化をサーバーレスに載せる設計そのものに注意が要る、という話です。

スクリーンショット側は明確に制限があります。公式は「この機能は、v2019.3 より前の Robot および Cloud ロボット – サーバーレス では機能しません」と記載しています。サーバーレス環境でスクリーンショットによる証跡を前提にした設計は成立しないため、その場合はビデオ記録へ倒してください。Studio側のアクティビティで撮る手もありますが、サーバーレスのUI操作には前述の既知の問題があるため、実行基盤の確認が先です。

混同しやすい2つの「レコーディング」:設計時のStudio記録と実行時のOrchestrator記録

UiPathの日本語ドキュメントでは、Studio側にもOrchestrator側にも「レコーディング」という名前の機能があります。名前が同じでも、目的も対象も別物です。ここを取り違えたまま設定を探すと、いつまでも目的の画面にたどり着けません。

Studioのレコーディングは設計時の機能です。ユーザーが画面上で行う操作をキャプチャして、シーケンスやコードに変換します。ワークフローを手で組む代わりに、操作してみせて作らせる仕組みです。記録中にUI要素を操作すると参考用のスクリーンショットが自動生成され、既定ではC:\Users\your_user_name\Documents\UiPath\your_project_name\.screenshots.pngで保存されます。これは開発時の参照画像であり、実行時の証跡ではありません。

対してOrchestratorのレコーディングは実行時の機能で、すでに完成したプロセスが無人で走った結果を記録します。開発者が使うのが前者、運用担当が使うのが後者、と役割で覚えると混乱しません。ブラウザー上で開発するStudio Webとデスクトップ版の違いはUiPath Studio Webとは?デスクトップ版との違い・できること・始め方で整理しています。

採用判断:Orchestratorのレコーディングだけに寄せるべきでない場面

証跡の仕組みは「とりあえず全部記録」で始めると、後から効かなくなります。前段で挙げた制約は、そのまま設計判断に直結します。有人実行が主体の業務ではこの機能はそもそも動かないので、Studio側のアクティビティで明示的に撮る構成へ倒してください。Cloudロボット – サーバーレスではビデオは使えてもスクリーンショットは取得できないため、静止画で追う運用を組んでいたならビデオ側へ寄せる判断が必要になります。

判断が割れるのは監査証跡として月次以上の保管が求められる場合です。ここでレコーディングを証跡基盤として選ぶのは誤りです。保持期間が最長でも30日である以上、要件を満たせるのは退避の仕組みを別に作ったときだけで、それを作るならレコーディングは一次調査の道具に割り切るのが素直な整理になります。ライセンス階層によって使える機能とコストが変わる点は、UiPathの料金・ライセンスとは?種別と割当単位・本数見積もりから導入判断まで解説【2026年版】とあわせて検討してください。

よくある質問

Orchestratorのレコーディングは有人(Attended)実行でも使えますか?

使えません。公式ドキュメントは「この機能は無人オートメーションでのみ利用できます」と明記しています。有人実行で画面を残したい場合は、Studioの[スクリーンショットを作成]アクティビティをワークフローに組み込み、トライキャッチのキャッチ側などで明示的に撮る構成にしてください。撮った画像は[ストレージ ファイルをアップロード]アクティビティでOrchestratorのストレージバケットへ送れば、実行端末に依存せず共有できます。

スクリーンショットの取得間隔はどこまで短くできますか?

最小値は250で、単位はミリ秒。既定値は500なので、標準では0.5秒間隔になります。注意したいのは秒単位との取り違えです。30秒間隔のつもりで「30」と入力すると30ミリ秒=0.03秒を指定したことになり、公式が示す最小値250を下回ります。あわせて[待機期間](単位は秒、最大120、既定40)で、失敗の何秒前から記録を開始するかを決めてください。間隔を詰めるほど記録は細かくなりますが、その分だけ帯域とストレージを消費します。

[スクリーンショットを作成]と[画像を保存]はどう使い分けますか?

[スクリーンショットを作成](UiPath.UIAutomationNext.Activities.NTakeScreenshot)の[出力先]に[ファイル]を選べば、その場でファイルとして保存されるため[画像を保存]は不要です。[画像を保存]が必要になるのは、[出力先]に[画像]を選んで画像変数として受け取り、後続の処理を挟んでから保存したい場合です。この[画像を保存]は同名で2本あり、新しい側がUiPath.UIAutomationNext.Activities.NSaveImage、Windows – レガシ側がUiPath.Core.Activities.SaveImage。どちらも[Image]プロパティはImage変数のみを受け付けます。

撮ったスクリーンショットをExcelなど他のアプリへ貼り付けたいときは?

[出力先]で[クリップボード]を選ぶと、スクリーンショットが画像としてクリップボードへ格納されるので、後続の貼り付け操作でそのまま使えます。ファイルを経由しないぶん、一時ファイルの後始末が不要です。ただし[出力先]の選択はクロスプラットフォームプロジェクトでは利用できないため、クリップボード出力もそこでは使えません。クロスプラットフォームの場合は出力プロパティ[スクリーンショットのファイル]から.pngとして受け取り、そのファイルを貼り付け先のアプリで開く構成になります。

保持期間を過ぎた記録は復元できますか?

Orchestrator上では利用できなくなります。ビデオはCommunityプランで失敗ジョブ7日・成功ジョブ3日、Enterpriseプランで失敗ジョブ14日・成功ジョブ7日、スクリーンショットはUiPathのストレージで30日です。期間を過ぎた記録をOrchestratorから取り出す手段は用意されていないため、必要な記録は期限内にローカルへダウンロードして保管してください。なおダウンロードにはブラウザーの制約があり、SafariとFirefoxにはビデオ録画のダウンロードオプションがありません。

関連記事

資料請求

RELATED POSTS 関連記事