VNCで行うパソコンの遠隔操作をWinActorで自動化する

社内にひとつのパソコン上のみで動作するアプリケーションがありました。データもそのパソコンの中にしかありません。毎月1回、手動で別のサーバーにデータをエクスポートしています。

頻度が少ないので、時間が掛かりませんが、忘れることがあるため、WinActorで夜中に自動処理します。

WinActorのシナリオ実行時には対象のパソコンの電源もついていません。

WOLでパソコンの電源をオン

Wake-on-LAN(ウェイク・オン・ラン、略称WoLあるいはWOL)は、コンピュータネットワーク(主にLAN)に繋がっているコンピュータの電源を遠隔で投入する技術です。

WOLはパソコンのMACアドレスに対して、マジックパケットを送信することで、電源をオンにすることができます。

当然、待ち受けのパソコンの設定も必要です。

↓参考

https://www.atmarkit.co.jp/ait/articles/0602/25/news014.html

設定することで、パソコンをシャットダウンしても、完全には電源オフにせずにBIOSレベルではパケットを受け付ける状態になっています。

このとき、LANケーブルのところのランプがテカテカ点滅しています。電源が完全に切れていないことがわかります。

マジックパケットを送信するソフト

いくつかフリーソフトがありますが、Wake on LAN for Windowsを使いました。

https://www.vector.co.jp/soft/winnt/net/se500992.html

シナリオのなかでマジックパケットを送信

事前に Wake on LAN for Windowsに対象PCの設定をしました。

シナリオでは「Explorerでファイル開く」でWake on LAN for Windowsの実行ファイルであるWinWol.exeを指定しました。ソフトを起動後にキーボードショートカットを使い、マジックパケットを送信します。

パケットを受け取ったパソコンは電源が起動します。パソコンが完全に起動するまで長めに待機します。

VNCでパソコンを操作

Virtual Network Computing(ヴァーチャル・ネットワーク・コンピューティング、略称VNC)は、ネットワーク上の離れたコンピュータを遠隔操作するためのRFBプロトコルを利用する、リモートデスクトップソフトです。

Windows標準のリモートデスクトップは使用せずに、UltraVNCを使いました。

UltraVNC(64bit版) v1.2.4.0

https://forest.watch.impress.co.jp/library/software/ultravnc/

操作する側(クライアント)とされる側(サーバー)にそれぞれインストールします。

サーバー側は、パソコン起動時に自動実行したいので、ultravnc serverをサービスとしてインストールします。

シナリオのなかでVNCで操作する

「Explorerでファイル開く」でインストールしたvncviewer.exeを指定します。vncviewerを起動したら対象PCのIPアドレスとパスワードでリモートアクセスします。

ここからは、リモートの操作のため、WinActorで対象PC上で開いているウィンドウを取得・操作することはできません。

UltraVNCのウィンドウに対して、キーボードと画像マッチングで行います。

Windowsのログイン処理やアプリケーションの操作、Windowsのシャットダウンまでできました。

注意点

  • 操作されるPCはLANケーブルを挿してLAN上にあること!
  • 操作されるPCに接続しているモニタは、シナリオ作成時のままであること!

モニタを外した状態でPCを起動しても画面の解像度が変わります。よって、画像マッチングに失敗します。

以上です。

Systemrpa, winactor

Posted by zzz