リモートデスクトップセッションを自動で貼ってリモートからエクセルを起動する方法

リモートデスクトップセッションを自動で貼ってリモートからエクセルを起動する方法

実現したいこと:
リモートデスクトップ接続でエクセル起動用ユーザでログインしてエクセルを起動。起動が終わったらセッションを残したまま切断したい。

実現方法:

#事前にRDPファイルを作成しておく。
#事前にコントロールしたい側のサーバにpsexecを設置しておく。
#事前にログオンユーザにローカルadministrator権限を付与しておく。

#1.リモートデスクトップ接続をする(要応答無し設定)
mstsc win2012r2.rdp

#2.リモードデスクトップを切断(mstscの終了)(要応答無し設定)
taskkill /IM mstsc.exe

#3.psexecでセッションIDを確認する(この場合IDは2)
psexec -u server\dcadmin -p password \\win2012r2 qwinsta

PsExec v2.2 – Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals – www.sysinternals.com
セッション名 ユーザー名 ID 状態 種類 デバイス
>services 0 Disc
console 1 Conn
rdp-tcp#10 dcadmin 2 Active
rdp-tcp 65536 Listen
qwinsta exited on win2012r2 with error code 0.

#4.psexecでセッションIDを指定してExcelViewerを起動
psexec -i 2 -d -u server\dcadmin -p password \\win2012r2 cmd.exe /c “C:\Program Files (x86)\Microsoft Office\Office12\XLVIEW.EXE”

停止時

#psexecでセッションIDを指定してExcelViewerの閉じるボタンを押す
psexec -i 2 -d -u server\excelusr -p password \\win2012r2 powershell -Command “(Get-Process XLVIEW).CloseMainWindow()”

#psexecでセッションIDを指定してExcelViewerを強制停止
psexec -i 2 -d -u server\excelusr -p password \\win2012r2 powershell -Command “Stop-process -name XLVIEW”

#psexecでセッションIDを指定してログオフ
psexec -i 2 -d -u server\excelusr -p password \\win2012r2 logoff

 

これでバッチ化の目途が立ちました。

Comments are closed.