Что ж, самое время мне все-таки выучить синтаксис команды schtasks, который я так не желал учить. Некоторое время назад мне пришлось решать проблему перемещения ряда задач с одного сервера на другой. Сама по себе задача не слишком радующая, а тут еще пришлось копировать их с Windows 2003 на Windows 2008. Когда переносимая задача одна это легко делается вручную, но если их много… Вот тут-то и наступает момент триумфа schtasks!
Что он может для нас сделать, так это экспортировать задачу с удаленного сервера в формат XML. Предположим, мы имеем задачу “Command Prompt”, которая единоразово запускает cmd.exe:
Давайте используем наше секретное оружие:
В файле Task.xml мы получим следующее содержание:
1: <?xml version="1.0" encoding="utf-16"?>
2: <Task version="1.1" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
3: <RegistrationInfo>
4: <Author>trofimov</Author>
5: </RegistrationInfo>
6: <Triggers>
7: <TimeTrigger>
8: <Enabled>true</Enabled>
9: <StartBoundary>2011-04-10T23:43:00</StartBoundary>
10: </TimeTrigger>
11: </Triggers>
12: <Settings>
13: <Enabled>true</Enabled>
14: <DeleteExpiredTaskAfter>PT0S</DeleteExpiredTaskAfter>
15: <ExecutionTimeLimit>PT259200S</ExecutionTimeLimit>
16: <Hidden>false</Hidden>
17: <WakeToRun>false</WakeToRun>
18: <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
19: <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
20: <RunOnlyIfIdle>false</RunOnlyIfIdle>
21: <Priority>5</Priority>
22: <IdleSettings>
23: <Duration>PT600S</Duration>
24: <WaitTimeout>PT3600S</WaitTimeout>
25: <StopOnIdleEnd>false</StopOnIdleEnd>
26: <RestartOnIdle>false</RestartOnIdle>
27: </IdleSettings>
28: </Settings>
29: <Principals>
30: <Principal>
31: <UserId>System</UserId>
32: </Principal>
33: </Principals>
34: <Actions>
35: <Exec>
36: <Command>C:\WINDOWS\system32\cmd.exe</Command>
37: <WorkingDirectory>C:\WINDOWS\system32</WorkingDirectory>
38: </Exec>
39: </Actions>
40: </Task>
которое мы можем импортировать в наш сервер W2008R2 с помощью schtasks или даже через GUI:
Разумеется, schtasks более эффективен в случае перемещения многих задач, однако GUI намного более эффектен ;)
Комментариев нет:
Отправить комментарий