オーケストレーター配下のロボットのプロセス名を参照したい

Orchestratorに接続したロボットのログには、ProcessNameのフィールドが追加になると思います。
このProcessNameの値を取得する処理を、当該ロボットのxaml中に書きたいのですが、
どのように取得すればよいでしょうか?

Hi!
@Kazuya_Ichinohe

array=split(environment.CurrentDirectory,“¥”) →※"¥"マークは半角で。

array(5)に入ってると思います。

こんにちは

Orchestrator接続有無に関わらずExecution LogにはProcess Nameのフィールドはあります。
違いはOrchestrator非接続時は単にPackage名が記録されるのに対して、Orchestrator接続時はPackage名_Environment名が記録されます。

これを単に取得したいのであれば、べたなやり方ですが、
%USERPROFILE%\AppData\Local\UiPath\Logs
以下にlogファイルがあるので、これを読み込み、文字列操作で値をとってくれば良いかと思います。(例えば、ログファイルをテキスト読み込み→改行で分割→最後から2つ目の文字列を,で分割→processNameが含まれている文字列に対して値を取得する、みたいな感じになるかと思います。)

この場合パッケージ名だけしか取得できませんので、スタンドアローン実行時はProcessNameと同じですが、Orchestrator接続時はProcessNameに対してEnvironment情報が不足したものになります。

@Yoichi

そうでしたね。
ProcessNameはOrchestratorを介してロボットがスケジュールまたは実行されている間はログから、非接続の場合は、array=split(environment.CurrentDirectory,“¥”)のarray(5)でしたね。
質問もログからの取得方法でしたね。失礼しました。

ログ、arrayいずれの取得の情報も大変助かります!
なんとかなりそうです。

ご丁寧に、ありがとうございました!

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.