Da die Taskplaner-API nach Vista und Server 2008 geändert wurde, ist die Planung einer Aufgabe mitschtasksist (soweit ich weiß) die einzige Möglichkeit, die sowohl unter Windows 2003 Server als auch unter Windows 2008 Server funktioniert.
Ich muss eine Aufgabe erstellen, die am 5. und 20. jedes Monats ausgeführt wird. Ist das mit schtasks.exe möglich?
Das Erstellen einer geplanten Aufgabe, die an jedem Sonntag und Montag einer Woche ausgeführt wird, ist mit folgendem Befehl möglich:
schtasks /create /tn test /tr "cmd.exe" /sc weekly /d mon,sun
Aber unter denselben Gesichtspunkten funktioniert keines der folgenden Elemente.
schtasks /create /tn test /tr "cmd.exe" /sc monthly /d 5,15
schtasks /create /tn test /tr "cmd.exe" /sc monthly /d "5 15"
Irgendwelche Ideen?
Antwort1
Zeitplanzweimonatliche Aufgaben. Eine für den 5. und eine für den 15.
Antwort2
Sie können eine Aufgabe mithilfe einer XML-Datei erstellen:
schtasks /Create /XML xmlfile
(sehenDokumentation).
Das XML sollte einen <ScheduleByMonth>
Abschnitt enthalten:
<ScheduleByMonth>
<DaysOfMonth>
<Day>5</Day>
<Day>15</Day>
</DaysOfMonth>
...
Sie können die XML-Datei mit der GUI-Version des Taskplaners erstellen. Verwenden Sie die Funktion „Exportieren“. Hier ist eine Beispieldatei:
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2010-01-21T13:24:17.7449831</Date>
<Author>DOMAIN\Username</Author>
</RegistrationInfo>
<Triggers>
<CalendarTrigger>
<StartBoundary>2010-01-21T13:23:34.4046495</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByMonth>
<DaysOfMonth>
<Day>5</Day>
<Day>15</Day>
</DaysOfMonth>
<Months>
<January />
<February />
<March />
<April />
<May />
<June />
<July />
<August />
<September />
<October />
<November />
<December />
</Months>
</ScheduleByMonth>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>DOMAIN\Username</UserId>
<LogonType>InteractiveToken</LogonType>
<RunLevel>LeastPrivilege</RunLevel>
</Principal>
</Principals>
<Settings>
<IdleSettings>
<Duration>PT10M</Duration>
<WaitTimeout>PT1H</WaitTimeout>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>P3D</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<ShowMessage>
<Title>Test Message</Title>
<Body>TThis is a test task message.</Body>
</ShowMessage>
</Actions>
</Task>