The Task Scheduler Remoting Protocol is used to register and configure tasks or to query the status of running tasks on a remote server. The Task Scheduler Remoting Protocol primarily consists of three separate remote procedure call (RPC) interfaces:
Net Schedule (ATSvc)
Task Scheduler Agent (SASec)
Windows Vista operating system Task Remote Protocol (ITaskSchedulerService)
All three interfaces use RPC as their transport to configure and manage tasks remotely.
The three interfaces represent a continuum of increasing functionality, with ATSvc providing rudimentary functionality and ITaskSchedulerService providing the most functionality. Historically, the ATSvc interface is the oldest.<1> The three interfaces are not independent—they operate on the task store, shared persistent storage for tasks.
In the ATSvc interface (see section 188.8.131.52), a task can be anything that can be specified on a command line for execution on the server. The client can specify execution at a given time or repeated execution on particular days of the week or month. In addition to creating tasks with NetrJobAdd (section 184.108.40.206.1), the interface includes methods for deleting tasks (section 220.127.116.11.2), enumerating tasks (section 18.104.22.168.3), and querying the status of a task (section 22.214.171.124.4).
The SASec interface (section 126.96.36.199), only includes methods for manipulating account information, because most SASec-created task configuration is stored in the file system using the .JOB file format (section 2.4). Clients add, delete, enumerate, and query tasks using a remote file system protocol as specified in section 3.2.5. The .JOB file format provides more features than the ATSvc interface for specifying tasks.<2>
Clients use the Windows Remote Registry Protocol Specification, as specified in [MS-RRP], to discover the path of the remote directory that stores the tasks as .JOB files (section 188.8.131.52). Clients use the SASec interface methods to supply security credentials for the remote task execution.
In contrast, the ITaskSchedulerService interface (section 184.108.40.206) includes methods for creating, deleting, enumerating, and querying tasks. The remote registry and file system protocols are not used. The ITaskSchedulerService interface uses XML to specify task configuration (section 2.5). The XML schema provides more features than the .JOB File Format for specifying tasks.