Подскажите, как это проще осуществить? На ум приходит планировщик заданий, написание мини-программки, создание службы... Но хочется получить совет, и в идеале рабочий пример. Заранее благодарен за любую помощь в этом вопросе.7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks)
-
Neosev
7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks)
Собственно имеется Windows Embedded Standard 7 Evaluation Edition, в свою очередь майкрософт бесплатно раздаёт ключи для "пробы" на 180 дней. Суть задачи такова, автоматизировать выполнение команды slmgr –rearm с интеграцией в дистрибутив. К примеру, прошло 179 дней после установки ОС и выполняется данная команда, и потом опять через 179 дней.. можно непрерывно... (вообще всего 5 раз можно). Думаю понятно зачем... установить легально ось, и использовать 2,5 года бесплатно не заморачиваясь
Подскажите, как это проще осуществить? На ум приходит планировщик заданий, написание мини-программки, создание службы... Но хочется получить совет, и в идеале рабочий пример. Заранее благодарен за любую помощь в этом вопросе.
Подскажите, как это проще осуществить? На ум приходит планировщик заданий, написание мини-программки, создание службы... Но хочется получить совет, и в идеале рабочий пример. Заранее благодарен за любую помощь в этом вопросе.-
Vadikan
Re: 7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks)
Цитата Neosev:
выполняется данная команда, и потом опять через 179 дней.. можно непрерывно... (
Планировщик - ваш лучший друг. В триггерах поставьте "Ежедневно" и кол-во дней.
См. также
выполняется данная команда, и потом опять через 179 дней.. можно непрерывно... (
7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks)
Планировщик - ваш лучший друг. В триггерах поставьте "Ежедневно" и кол-во дней.
См. также
Управление назначенными заданиями средствами командной строки (Schtasks)
-
Neosev
Re: 7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks)
Спасибо... разобрался с планировщиком.. Осталось 2 вопроса, как сделать так, чтобы дата старта задачи была - дата установки ос? И каким образом в в дистрибутив будет проще импортировать задачу?
-
Vadikan
Re: 7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks)
Цитата Neosev:
Осталось 2 вопроса, как сделать так, чтобы дата старта задачи была - дата установки ос?
По-моему, это просто не нужно, т.к. после создания задачи при установке системы дата создания и так будет текущей
Если вас это не устраивает, задайте вопрос в
Цитата Neosev:
И каким образом в в дистрибутив будет проще импортировать задачу?
Сравнительная таблица тут
Осталось 2 вопроса, как сделать так, чтобы дата старта задачи была - дата установки ос?
7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks)
По-моему, это просто не нужно, т.к. после создания задачи при установке системы дата создания и так будет текущей
Если вас это не устраивает, задайте вопрос в Скриптовые языки администрирования Windows
. Нужен скрипт, определяющий текущую дату и подставляющий ее в команду Schtasks. Цитата Neosev:
И каким образом в в дистрибутив будет проще импортировать задачу?
7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks)
Сравнительная таблица тут
http://oszone.net/8594
Выбирайте из SetupComplete.cmd
и FirstLogonCommands
-
Neosev
Re: 7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks)
Спасибо за подсказки... Вроде получилось.. но все равно есть косяки... Вообщем команда:
Код:
Событие создается, но выполняется только если компьютер запущен в то время, которое указывается при создании события. При создании через интерфейс "Планировщика заданий" этот вопрос решается установкой галочки в параметрах события на "Немедленно запускать задачу, если пропущен плановый запуск", но как включить данный параметр через командную строку? Или может это все можно сделать по-другому?
Попробовал сделать "событийно-управляемую" задачу:
Код:
Основываясь на событии, которое создается при окончании тестового периода, задание создается, но при появлении события - реакции ноль
Подскажите, где мой косяк?
Код:
Код: Выделить всё
%WINDIR%\system32\Schtasks.exe /Create /RU "NT AUTHORITY\SYSTEM" /RL Highest /TN TASK /SC "DAILY" /MO "179" /TR "%WINDIR%\system32\slmgr.vbs -rearm"Событие создается, но выполняется только если компьютер запущен в то время, которое указывается при создании события. При создании через интерфейс "Планировщика заданий" этот вопрос решается установкой галочки в параметрах события на "Немедленно запускать задачу, если пропущен плановый запуск", но как включить данный параметр через командную строку? Или может это все можно сделать по-другому?
Попробовал сделать "событийно-управляемую" задачу:
Код:
Код: Выделить всё
%WINDIR%\system32\Schtasks.exe /Create /TN TASK /TR "%WINDIR%\system32\slmgr.vbs -rearm" /SC ONEVENT /EC Application /MO *[System/EventID=4103] /RL HighestОсновываясь на событии, которое создается при окончании тестового периода, задание создается, но при появлении события - реакции ноль
Подскажите, где мой косяк?
-
Vadikan
Re: 7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks)
Цитата Neosev:
этот вопрос решается установкой галочки в параметрах события на "Немедленно запускать задачу, если пропущен плановый запуск", но как включить данный параметр через командную строку?
Экспортировать задание в XML, потом
этот вопрос решается установкой галочки в параметрах события на "Немедленно запускать задачу, если пропущен плановый запуск", но как включить данный параметр через командную строку?
7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks)
Экспортировать задание в XML, потом
Импорт задания
.-
Neosev
Re: 7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks)
Хотелось бы конечно в идеале чисто командой 
По поводу этого варианта так же думал, но если экспортировать задание в XML, то дата старта (от которого будет высчитываться 179 дней) будет же та, которую сделаю при создании этого файла... (экспорте)

По поводу этого варианта так же думал, но если экспортировать задание в XML, то дата старта (от которого будет высчитываться 179 дней) будет же та, которую сделаю при создании этого файла... (экспорте)
-
Neosev
Re: 7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks)
Неужели ни у кого нету идей, насчет того как решить данную задачу не "ручным" методом? 

-
Morpheus
Re: 7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks)
Конкретизирую задачу, т.к. мне тема планировщика тоже интересна 
Необходимо создать XML с текстом:
Код:
В котором вместо выделенного куска выводилась бы текущая дата (время не важно, наверное) + 179 дней.

Необходимо создать XML с текстом:
Код:
Код: Выделить всё
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2010-10-05T03:04:20.5546931</Date>
</RegistrationInfo>
<Triggers>
<CalendarTrigger>
<StartBoundary>2010-10-05T03:03:30.0158025</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>179</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<LogonType>InteractiveToken</LogonType>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>false</AllowHardTerminate>
<StartWhenAvailable>true</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>%WINDIR%\system32\slmgr.vbs</Command>
<Arguments>-rearm</Arguments>
</Exec>
</Actions>
</Task>В котором вместо выделенного куска выводилась бы текущая дата (время не важно, наверное) + 179 дней.
-
amel27
Re: 7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks)
VBS-вариант для актуализации выделенного куска XML-файла:
Код: Выделить всё
strFile = "TASK.XML"
Set objFormat = CreateObject("VBScript.RegExp")
objFormat.Pattern = "(\D)(?=\d\D)"
objFormat.Global = True
Set objStartB = CreateObject("VBScript.RegExp")
objStartB.Pattern = "(<StartBoundary>).*?(</StartBoundary>)"
objStartB.IgnoreCase = True
objStartB.Global = True
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oF = FSO.OpenTextFile(strFile,1)
sF = oF.ReadAll
oF.Close
DN = DateAdd("d",179,Now())
DT = Year(DN) &"-"& Month(DN) &"-"& Day(DN) &"T"& Hour(DN) &":"& Minute(DN) &":"& Second(DN) &".0000000"
sF = objStartB.Replace(sF, "$1"& objFormat.Replace(DT,"$10") &"$2")
Set oF = FSO.OpenTextFile(strFile, 2)
oF.Write(sF)
oF.Close