質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
RPA

RPA(Robotic Process Automation)は、ホワイトカラーの間接業務を人間に代行して自動的に行う技術や概念を指します。人間が繰り返すクリックやキーボード入力といった定型的なデスクワークを行うことから、仮想知的労働者(Digital Labor)と呼ばれることがあります。

Q&A

解決済

1回答

5348閲覧

毎日定時に仮想サーバーでRPAを使って作業を自動化したい。

ka999

総合スコア9

RPA

RPA(Robotic Process Automation)は、ホワイトカラーの間接業務を人間に代行して自動的に行う技術や概念を指します。人間が繰り返すクリックやキーボード入力といった定型的なデスクワークを行うことから、仮想知的労働者(Digital Labor)と呼ばれることがあります。

0グッド

2クリップ

投稿2020/07/13 07:30

編集2020/07/16 04:47

やりたいこと

現在リモートデスクトップでサーバーPCに入っているRPAを使って作業を自動化をしたいと思っています。
0. 定時でサーバーPCにログオン
0. RPAを実行し自動で作業
0. 作業が終わればサーバーPCからログオフ

という工程を考えていますが、
定時に自動で任意のアカウントでサーバーPCにログオンする方法が分からず、教えていただきたいと思い質問しました。
もしくは、ほかの方法があれば教えていただきたいです。

前提として

  1. RPA実行用のサーバーPCのみ(リモートデスクトップは使用しない)で毎日決まった時間に作業を自動で行う。
  2. サーバーPCは複数人で共有して使用するため別のアカウントでログオンする場合あり。(作業中に別のアカウントはログオンしないものとします。)
  3. RPAでの操作はGoogleChromeを起動し、マウス操作、キーボード操作を使用しデータをエクスポート。そしてWeb上の別のシステムにそのデータをインポートするものです。

試したこと

  • リモートデスクトップでサーバーPCに接続してタスクスケジューラから直接実行するとRPAは予定通りに自動で作業完了できます。
  • トリガーで定時に実行する場合、リモートで見ているときは正常に動作しますが、リモートを解除している状態だと、アプリケーションの起動はしますが、マウス操作、キーボード操作は動作しませんでした。

(ネットで調べるとRPAではマウス操作、キーボード操作はロック画面、スリープ画面、ログオフ状態では使用できないことを知り、定時に自動でサーバーPCにログオンすることを考えました。)

その他必要な情報があれば追記します。
どうぞよろしくお願いします。

追記

RPAの製品は「ロボパットDX」です。
サーバーPCは「Windows 10」です。
本文に仮想サーバーと書いていましたが、サーバーPCに書き直しています。

追記2

まだ解決していませんが調べながら試そうと思うことを書きます。おかしい部分があれば指摘や、実装にあたってアドバイスなどあれば教えていただきたいです。よろしくお願いします。
0. PC起動時に自動でログオンする設定に書き換えるプログラムをタスクスケジューラでユーザーがログオンしているかどうかにかかわらず実行。
0. PC再起動しユーザーがログオンした状態になる。
0. 本来の目的であるRPAの作業をさせる。
0. PC起動時に自動でログオンする設定をもとに戻すプログラムを実行。
0. ユーザーをログオフする。

追記3

とりあえず追記2の方法で動作を確認できました。
しかし、もう少しスマートな方法を知っている方がいらっしゃいましたら引き続き教えていただけたらと思っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2020/07/13 07:46 編集

「仮想サーバー」とは何ですか?リモートデスクトップ接続でログオンできるアカウントを持っているWindows Serverまたは何らかのWindowsクライアントマシンなのではないですか?それともVMWareなどの製品を指しているのでしょうか。 > RPA実行用の仮想サーバーのみ(リモートデスクトップは使用しない)で毎日決まった時間に作業を自動で行う。 RPAのロボットの実行時、一般的にはWindowsのデスクトップ画面(キーボード、マウス入力を受け付ける、人間が相対する通常の画面のことです)が必要になるので、リモートデスクトップを使用しないのであれば、その仮想サーバーとやらでデスクトップ画面を開いていないと、動作できないと思います。 RPAの製品の種別、例えばUiPathとかWinActorとかを質問文中にちゃんと明示し、仮想サーバーとやらの構成を詳細に書くと、それらに詳しい方の回答がいただけるかもしれません。
ka999

2020/07/13 07:51

少し調べて追記します。
ka999

2020/07/13 08:04

RPAの製品は「ロボパットDX」です。 仮想サーバーと書いていましたが、間違いで社内にある「Windows 10」でした。 質問本文も修正しておきます。 ありがとうございます。
dodox86

2020/07/13 08:13 編集

質問文は別途追記、修正いただくとして、「ロボパットDX」とはUiPathなどに比べて若干マイナー(<私が知らないだけかもしれませんけど)なプロプライエタリ製品であると言うのと、ご質問自体がシステム構築の相談に近い、人によっては丸投げと判断されそうな内容であるので、あるいは製品提供元のサポート、営業に相談した方が良い事案かもしれません。teratailでもある程度のアドバイスは得られるかもしれませんが。
ka999

2020/07/13 08:27

質問自体はロボパットDXとは直接は関係ない(?)ログオンについてだと思ったのと、こちらのサイトは以前に使ったことがあったのでこちらで質問させていただきました。 解決方法の一つとしてロボパットのヘルプには 窓用ユーザーAを用意することで、ローカルから窓用ユーザーAへの接続を切っても、窓用ユーザーAから処理用ユーザーAへの接続が残ったままとなり、処理用ユーザーAにはスクリーンロックがかかりません。 という風に推奨されていたのですが上司の意向とは違う形だったため他の方法を模索しております。
guest

回答1

0

自己解決

タスクスケジューラで以下の設定
0. SetAutoLogon.bat(PC起動時に自動でログオンする設定に書き換えるプログラム)をユーザーがログオンしているかどうかにかかわらず、管理者権限で実行。
0. PC再起動しユーザーがログオンした状態になる。
0. 本来の目的であるRPAの作業をさせる。
0. UnSetAutoLogon.bat(PC起動時に自動でログオンする設定をもとに戻すプログラム)を管理者権限で実行。
0. ユーザーをログオフする。

参考URL
http://mitsushima.work/archives/19831921.html
を参考にbatを書きました。

SetAutoLogon.bat

bat

1REM @echo off 2 3REM 各種環境変数設定 4set AutoLogonDomain=KAWAMURA-GISHI 5set AutoLogonUser=999463 6set AutoLogonPassword=1991 7 8REM 管理者権限か確認 9net session > nul 2>&1 10 11REM 管理者権限でなければ「管理者権限で再実行」(SUDO) 12IF %ERRORLEVEL% neq 0 goto SUDO 13 14REM オートログオン有効化 15reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 1 /f 16reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultDomainName /t REG_SZ /d %AutoLogonDomain% /f 17reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /t REG_SZ /d %AutoLogonUser% /f 18reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d %AutoLogonPassword% /f 19 20exit 21 22:SUDO 23REM 管理者権限で自分自身を実行(昇格処理) 24powershell start-process %~nx0 -verb runas 25exit

UnSetAutoLogon.bat

bat

1@echo off 2 3REM 管理者権限か確認 4net session > nul 2>&1 5 6REM 管理者権限でなければ「管理者権限で再実行」(SUDO) 7IF %ERRORLEVEL% neq 0 goto SUDO 8 9REM オートログオン無効化 10reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 0 /f 11reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultDomainName /f 12reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /f 13reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /f 14 15exit 16 17:SUDO 18REM 管理者権限で自分自身を実行(昇格処理) 19powershell start-process %~nx0 -verb runas 20exit

投稿2020/07/16 04:41

ka999

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問