WIndows2012のUAC環境でのコマンドのリモート実行


WIndows2012のUAC環境でリモートでコマンドをキックする方法を考えてみた。

UAC環境でなければ、PSTOOLsの一部であるpsexecを使えばリモート実行は簡単なのだけど、UACがONの状態だと、うまく動きません。

 

ですので、OS標準のタスクスケジュールを使った方法を考えてみました。

用意するスクリプトは3つ

・キックされるスクリプト(実行側PCに配置)

restartvnc.bat

taskkill /F /IM winvnc.exe
ping -n 5 127.0.0.1
net start uvnc_service

 

 

・キックされるスクリプトをタスクとして登録するスクリプト(実行側PCに配置して事前に実行)

register.bat

@echo off
echo restartVNCのタスクを登録します。
echo %COMPUTERNAME%\administratorのパスワードを入力してください。
set /p hostpass=?

schtasks /delete /tn "restartvnc" /f

pause

schtasks /create /tn "restartvnc" /RL HIGHEST /RU %COMPUTERNAME%\administrator /RP %hostpass% /SC once /ST 23:59 /TR "C:\tool\VNC_installer\etc\restartvnc\restartvnc.bat"

pause

 

 

・別サーバからスクリプトをキックするスクリプト(実行を依頼するPCに配置)

00run.bat

@echo off

set /p hostname=VNC restart HOST Name?
schtasks /run /s \\%hostname% /u %hostname%\administrator /tn "restartvnc"

 

 

この方法であれば、あらかじめ実行スクリプトをタスクとして作成しておくことで、
別サーバから、処理をリモートで実行依頼をすることができます。

 

 

Views: 8

カテゴリー: Windows パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です