使用任务计划程序的界面
Interface to work with the Task Scheduler
我正在开发一个简单的 JScript
脚本,由 Windows Script Host
编写 运行。
此脚本需要从任务计划程序中读取一些数据。我不知道如何开始。
我已经使用 Task Scheduler 2.0 Interfaces
在 C++ 中实现了类似的功能
我可以在 JScript
中以某种方式使用这些接口吗?
不,您不能从 JScript 使用 Task Scheduler 2.0 界面。
但是,您可以读取任务计划程序创建的 XML 文件。它们包含所有已定义任务的所有属性。
它们位于 %windir%\system32\tasks
(您需要管理员权限才能阅读此目录及其内容)。
下面是这样一个文件的例子,非常简单XML:
<Task version="1.1" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Author>SYSTEM</Author>
<Description>Some text here...</Description>
</RegistrationInfo>
<Triggers>
<LogonTrigger>
<Enabled>true</Enabled>
</LogonTrigger>
<CalendarTrigger>
<Enabled>true</Enabled>
<StartBoundary>2015-07-16T05:32:00</StartBoundary>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Settings>
<Enabled>true</Enabled>
<ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
<Hidden>false</Hidden>
<WakeToRun>false</WakeToRun>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<Priority>5</Priority>
<IdleSettings>
<Duration>PT600S</Duration>
<WaitTimeout>PT3600S</WaitTimeout>
<StopOnIdleEnd>false</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
</Settings>
<Principals>
<Principal id="Author">
<UserId>System</UserId>
<RunLevel>HighestAvailable</RunLevel>
<LogonType>InteractiveTokenOrPassword</LogonType>
</Principal>
</Principals>
<Actions Context="Author">
<Exec>
<Command>C:\path\to\executable.exe</Command>
<Arguments>/args</Arguments>
</Exec>
</Actions>
</Task>
需要查明的事项列表:
- 如何 运行 具有更高权限的脚本。
- 如何使用 FileSystemObject 导航目录结构。
- 如何使用 MSXML2 COM 对象打开 XML 文件
- 如何使用 XPath 导航那些 XML 文档。
- 如何处理默认的 XML 命名空间(这比听起来更重要 - 在正确完成此部分之前,您不会从 XPath 获得任何结果)。
- 如果您的任务需要,请了解 ISO 8601 时间段符号的工作原理,以便您可以解码
PT600S
. 等值
幸运的是,对于所有这些事情,有许多示例(在本网站和其他地方)可以帮助您入门。
我正在开发一个简单的 JScript
脚本,由 Windows Script Host
编写 运行。
此脚本需要从任务计划程序中读取一些数据。我不知道如何开始。
我已经使用 Task Scheduler 2.0 Interfaces
在 C++ 中实现了类似的功能我可以在 JScript
中以某种方式使用这些接口吗?
不,您不能从 JScript 使用 Task Scheduler 2.0 界面。
但是,您可以读取任务计划程序创建的 XML 文件。它们包含所有已定义任务的所有属性。
它们位于 %windir%\system32\tasks
(您需要管理员权限才能阅读此目录及其内容)。
下面是这样一个文件的例子,非常简单XML:
<Task version="1.1" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Author>SYSTEM</Author>
<Description>Some text here...</Description>
</RegistrationInfo>
<Triggers>
<LogonTrigger>
<Enabled>true</Enabled>
</LogonTrigger>
<CalendarTrigger>
<Enabled>true</Enabled>
<StartBoundary>2015-07-16T05:32:00</StartBoundary>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Settings>
<Enabled>true</Enabled>
<ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
<Hidden>false</Hidden>
<WakeToRun>false</WakeToRun>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<Priority>5</Priority>
<IdleSettings>
<Duration>PT600S</Duration>
<WaitTimeout>PT3600S</WaitTimeout>
<StopOnIdleEnd>false</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
</Settings>
<Principals>
<Principal id="Author">
<UserId>System</UserId>
<RunLevel>HighestAvailable</RunLevel>
<LogonType>InteractiveTokenOrPassword</LogonType>
</Principal>
</Principals>
<Actions Context="Author">
<Exec>
<Command>C:\path\to\executable.exe</Command>
<Arguments>/args</Arguments>
</Exec>
</Actions>
</Task>
需要查明的事项列表:
- 如何 运行 具有更高权限的脚本。
- 如何使用 FileSystemObject 导航目录结构。
- 如何使用 MSXML2 COM 对象打开 XML 文件
- 如何使用 XPath 导航那些 XML 文档。
- 如何处理默认的 XML 命名空间(这比听起来更重要 - 在正确完成此部分之前,您不会从 XPath 获得任何结果)。
- 如果您的任务需要,请了解 ISO 8601 时间段符号的工作原理,以便您可以解码
PT600S
. 等值
幸运的是,对于所有这些事情,有许多示例(在本网站和其他地方)可以帮助您入门。