我的测试机器上有一个计划任务。测试机器是 win 7。我以 xml 格式导出任务,并尝试创建一个新的类似计划任务,因为我必须在 500 多台机器上创建相同的计划任务。
我计划为计划任务创建一个批处理文件。由于大多数机器都在同一个域中。因此,我计划使用服务帐户进行身份验证。
以下是 xml 文件。目前,任务调度程序运行正常。
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2016-01-26T19:26:36.6011086</Date>
<Author>test\404</Author>
<Description>Testing Tasks</Description>
</RegistrationInfo>
<Triggers>
<CalendarTrigger>
<Repetition>
<Interval>PT1H</Interval>
<Duration>P1D</Duration>
<StopAtDurationEnd>false</StopAtDurationEnd>
</Repetition>
<StartBoundary>2016-01-26T19:25:42.7621086</StartBoundary>
<EndBoundary>2017-01-26T19:25:43.0101086</EndBoundary>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>test\404</UserId>
<LogonType>Password</LogonType>
<RunLevel>LeastPrivilege</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
<UseUnifiedSchedulingEngine>false</UseUnifiedSchedulingEngine>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>copier.bat</Command>
<WorkingDirectory>D:\test\</WorkingDirectory>
</Exec>
</Actions>
</Task>
当我尝试使用以下命令创建类似的计划任务时。
schtasks /create /tn "alarm3" /xml "Test Task.xml"
我收到错误 错误:登录失败:用户名未知或密码错误。
我想知道如何使用批处理文件创建计划任务。计划任务需要兼容赢 2003到Win2012 服务器。
谢谢你的时间。
答案1
您可以使用schtasks
并提供任务用户凭据。我经常在 PowerShell 脚本中使用它
schtasks.exe /create /s NAMEOFCOMPUTER /ru DOMAIN\USER /rp PASSWORD /tn NAMEOFTASK' /XML PATHTOXMLFILE