タスクスケジューラのタスクをリモートで他のPCから実行する手順

Windows

ゆうです。こんにちは

今回は、Windowsのタスクスケジューラに登録されているタスクを
他のPCからネットワーク越しに実行させる手順を記載していこうと思います。

実行される側の操作

タスクをリモートで実行されるようにするには、「受信の規則」で通信を許可してあげる必要があります。

①受信の規則の設定画面を開きます。
コントロールパネルを開いて、「システムとセキュリティ」→「Windows Defender ファイアウォール」→「詳細設定」→「受信の規則」と進み画面を表示します。

②規則を有効化します
下の方にスクロールしていくと
スケジュールされたリモートタスク管理という項目があるため、下記青枠の項目を有効にします。

③レジストリを登録する
LocalAccountTokenFilterPolicy というレジストリエントリ値に 1 を設定します。
意味は、リモートからアクセスされる際に、実行プロセスが管理者特権を持つことを許可するものです。
管理者権限でコマンドプロンプトを起動し、下記のコードを張り付けて実行します。

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

<参考記事>:7Pro同士でリモートPCのタスクを実行したいけどエラー schtasks – Microsoft コミュニティ

正常に追加されたら、設定は完了です。


※レジストリを登録する際は、細心の注意を払い実行してください。

④実行されたいタスクを登録
今回は、特定のフォルダに保存されている「Test.exe」をタスクスケジューラで実行させるようにしました。

「Test.exe」は下記のように単純な、ウィンドウが出現するアプリケーションです。


タスクを実行する側の操作

①タスクを実行する
コマンドプロンプトを起動してタスクをリモート実行します。
「schtasks」コマンドを使用してリモート実行することが可能です。

schtasks /run /s リモートPCの名前またはIPアドレス /tn "タスク名" /u リモートPCのユーザー名 /p パスワード

②「エラー: この要求はサポートされていません。」となった場合
まず、「リモートPCの名前またはIPアドレス」が間違っていないことを確認します。

間違っていないのに、エラーとなった場合ですが、
私の場合ではVPNの接続環境(ローカルサブネット以外)から実行しようとしていたことが原因でした。

リモートされる側の設定で、「受信の規則」を開きます。
冒頭で、有効にした規則を右クリックして「プロパティ」を開きます。

次に、「スコープ」タブを開きます。
リモートIPアドレスに設定されている項目が「ローカルサブネット」となっている為、
「任意のIPアドレス」にチェックして保存します。

再度、コマンドを実行することで実行が可能になっているかと思います。

最後までお読み頂き、ありがとうございます。
何かわからないことや意見等ありましたら、ご気軽にコメントいただけたら幸いです!

jimorage

ゆうです!こんにちは!
普段は工場の社内SEとして勤務しています。
主に、プログラミング関係と愛車のカスタム記録などを日記としてブログを書いています✐

”無いものは作る”という自分の中のスローガンをたてて日々色々な事に取り組んでいます!

jimorageをフォローする

コメント

タイトルとURLをコピーしました