登录触发器示例 (XML)

此示例中的 XML 定义在用户登录时启动记事本的任务。

若要注册在 XML 中定义的任务,可以使用 ITaskFolder::RegisterTask 函数 (TaskFolder.RegisterTask 编写脚本) 或Schtasks.exe命令行工具。 如果使用位于 C:\Windows\System32 目录) 中的Schtasks.exe工具 (,则可以使用以下命令注册任务: schtasks /create /XML<路径,指向包含任务定义>/tn<任务名称>的 XML 文件。

定义任务以在系统启动时启动记事本

以下 XML 示例演示如何定义具有单个执行操作的任务 (启动记事本) 、在用户登录时启动任务的单个登录触发器,以及影响任务计划程序处理任务方式的其他几个任务设置。

注意

在注册任务的计算机上,将 UserId 元素的值设置为用户名。

 

<?xml version="1.0" ?>
<!--
This sample schedules a task to start notepad.exe when a user logs on.
-->
<Task xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
    <RegistrationInfo>
        <Date>2005-10-11T13:21:17-08:00</Date>
        <Author>AuthorName</Author>
        <Version>1.0.0</Version>
        <Description>Starts Notepad when a specified user logs on.</Description>
    </RegistrationInfo>
    <Triggers>
        <LogonTrigger>
            <StartBoundary>2005-10-11T13:21:17-08:00</StartBoundary>
            <EndBoundary>2006-01-01T00:00:00-08:00</EndBoundary>
            <Enabled>true</Enabled>
            <UserId>DOMAIN_NAME\UserName</UserId>
        </LogonTrigger>
    </Triggers>
    <Principals>
        <Principal>
            <GroupId>Builtin\Administrators</GroupId>
        </Principal>
    </Principals>
    <Settings>
        <Enabled>true</Enabled>
        <AllowStartOnDemand>true</AllowStartOnDemand>
        <AllowHardTerminate>true</AllowHardTerminate>
    </Settings>
    <Actions>
        <Exec>
            <Command>notepad.exe</Command>
        </Exec>
    </Actions>
</Task>

TaskScheduler 架构元素

下面是使用此示例时要记住的一些重要元素:

  • RegistrationInfo:包含有关任务的注册信息。
  • 触发器:定义启动任务的触发器。
  • LogonTrigger:定义登录触发器。 在这种情况下,使用三个子元素:指定触发器激活和停用时的开始和结束边界,以及用户标识符的 UserId 元素。 此用户登录到计算机时将启动该任务。
  • 主体:定义任务运行的安全上下文。
  • 设置:定义任务计划程序用于执行任务的任务设置。
  • 操作:定义任务执行的操作。 在本例中,运行记事本。

使用任务计划程序