The scheduler service runs RPC services allowing remote configuration of scheduled tasks (AT jobs). These RPC services are available on two endpoints:
Before Windows XP the Scheduler service was implemented in a single process, mstask.exe. Starting with Windows XP, the Scheduler service runs in a svchost.exe instance process (schedsvc.dll) and runs an additional RPC service (the third one in the list below).
The interfaces identifiers of these RPC services are:
X:\>ifids -p ncacn_np -e \pipe\atsvc \\. Interfaces: 51 [...] 1ff70682-0a51-30e8-076d-740be8cee98b v1.0 378e52b0-c0a9-11cf-822d-00aa0051e40f v1.0 0a74ef1c-41a4-4e06-83ae-dc74fb1cdd53 v1.0 X:\>ifids -p ncacn_ip_tcp -e 3136 127.0.0.1 Interfaces: 51 [...] 1ff70682-0a51-30e8-076d-740be8cee98b v1.0 378e52b0-c0a9-11cf-822d-00aa0051e40f v1.0 0a74ef1c-41a4-4e06-83ae-dc74fb1cdd53 v1.0 X:\>
IDL (Interface Definition Language) for the atsvc interface is available in Samba 4 [79].
Table 4.61. atsvc operations
| Interface | Operation number | Operation name |
|---|---|---|
| 1ff70682-0a51-30e8-076d-740be8cee98b v1.0: atsvc | ||
| 0x00 | NetrJobAdd | |
| 0x01 | NetrJobDel | |
| 0x02 | NetrJobEnum | |
| 0x03 | NetrJobGetInfo |
Enumerating AT jobs:
Adding or removing an AT job:
Obtaining details about an AT job:
Submission of AT jobs is by default restricted to only members of the Administrators group. On domain controllers, it is possible to also allow members of the Server Operators group to submit AT jobs, by setting the SubmitControl registry value to 1 (not recommended).
Table 4.62. sasec operations
| Interface | Operation number | Operation name |
|---|---|---|
| 378e52b0-c0a9-11cf-822d-00aa0051e40f v1.0: sasec | ||
| 0x00 | SASetAccountInformation | |
| 0x01 | SASetNSAccountInformation | |
| 0x02 | SAGetNSAccountInformation | |
| 0x03 | SAGetAccountInformation |
The idletask interface was added in Windows XP:
Table 4.63. idletask operations
| Interface | Operation number | Operation name |
|---|---|---|
| 0a74ef1c-41a4-4e06-83ae-dc74fb1cdd53 v1.0: idletask | ||
| 0x00 | ItSrvRegisterIdleTask | |
| 0x01 | ItSrvUnregisterIdleTask | |
| 0x02 | ItSrvProcessIdleTasks | |
| 0x03 | ItSrvSetDetectionParameters |
In Windows Vista, a new interface, ITaskSchedulerService, was added
Y:\>ifids -p ncacn_np -e \pipe\atsvc \\. Interfaces: 56 [...] 0a74ef1c-41a4-4e06-83ae-dc74fb1cdd53 v1.0 1ff70682-0a51-30e8-076d-740be8cee98b v1.0 378e52b0-c0a9-11cf-822d-00aa0051e40f v1.0 86d35949-83c9-4044-b424-db363231fd0c v1.0 [...]
Table 4.64. ITaskSchedulerService operations
| Interface | Operation number | Operation name |
|---|---|---|
| 86d35949-83c9-4044-b424-db363231fd0c v1.0: ITaskSchedulerService | ||
| 0x00 | SchRpcHighestVersion | |
| 0x01 | SchRpcRegisterTask | |
| 0x02 | SchRpcRetrieveTask | |
| 0x03 | SchRpcCreateFolder | |
| 0x04 | SchRpcSetSecurity | |
| 0x05 | SchRpcGetSecurity | |
| 0x06 | SchRpcEnumFolder | |
| 0x07 | SchRpcEnumTasks | |
| 0x08 | SchRpcEnumInstances | |
| 0x09 | SchRpcGetInstanceInfo | |
| 0x0a | SchRpcStopInstance | |
| 0x0b | SchRpcStop | |
| 0x0c | SchRpcRun | |
| 0x0d | SchRpcDelete | |
| 0x0e | SchRpcRename | |
| 0x0f | SchRpcScheduledRuntimes | |
| 0x10 | SchRpcGetLastRunInfo | |
| 0x11 | SchRpcGetTaskInfo |