|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » 7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks) |
|
||||
|
|
7 / 2008 R2 - [решено] Автоматическое выполнение команды (schtasks)
|
|
Новый участник Сообщения: 24 |
Собственно имеется Windows Embedded Standard 7 Evaluation Edition, в свою очередь майкрософт бесплатно раздаёт ключи для "пробы" на 180 дней. Суть задачи такова, автоматизировать выполнение команды slmgr –rearm с интеграцией в дистрибутив. К примеру, прошло 179 дней после установки ОС и выполняется данная команда, и потом опять через 179 дней.. можно непрерывно... (вообще всего 5 раз можно). Думаю понятно зачем... установить легально ось, и использовать 2,5 года бесплатно не заморачиваясь
Подскажите, как это проще осуществить? На ум приходит планировщик заданий, написание мини-программки, создание службы... Но хочется получить совет, и в идеале рабочий пример. Заранее благодарен за любую помощь в этом вопросе. |
|
|
Отправлено: 01:55, 29-09-2010 |
|
(*.*) Сообщения: 36572
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Neosev:
См. также Управление назначенными заданиями средствами командной строки (Schtasks) |
|
|
------- Отправлено: 02:31, 29-09-2010 | #2 |
|
Новый участник Сообщения: 24
|
Профиль | Отправить PM | Цитировать Спасибо... разобрался с планировщиком.. Осталось 2 вопроса, как сделать так, чтобы дата старта задачи была - дата установки ос? И каким образом в в дистрибутив будет проще импортировать задачу?
|
|
Отправлено: 03:03, 29-09-2010 | #3 |
|
(*.*) Сообщения: 36572
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Neosev:
Если вас это не устраивает, задайте вопрос в Скриптовые языки администрирования Windows. Нужен скрипт, определяющий текущую дату и подставляющий ее в команду Schtasks. Цитата Neosev:
|
||
|
------- Отправлено: 20:12, 02-10-2010 | #4 |
|
Новый участник Сообщения: 24
|
Профиль | Отправить PM | Цитировать Спасибо за подсказки... Вроде получилось.. но все равно есть косяки... Вообщем команда:
%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 Подскажите, где мой косяк? |
|
|
Отправлено: 23:46, 03-10-2010 | #5 |
|
(*.*) Сообщения: 36572
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Neosev:
|
|
|
------- Отправлено: 00:20, 04-10-2010 | #6 |
|
Новый участник Сообщения: 24
|
Профиль | Отправить PM | Цитировать Хотелось бы конечно в идеале чисто командой
![]() По поводу этого варианта так же думал, но если экспортировать задание в XML, то дата старта (от которого будет высчитываться 179 дней) будет же та, которую сделаю при создании этого файла... (экспорте) |
|
Отправлено: 00:36, 04-10-2010 | #7 |
|
Новый участник Сообщения: 24
|
Профиль | Отправить PM | Цитировать Неужели ни у кого нету идей, насчет того как решить данную задачу не "ручным" методом?
![]() |
|
Отправлено: 23:38, 04-10-2010 | #8 |
|
Ветеран Сообщения: 12426
|
Профиль | Отправить PM | Цитировать Конкретизирую задачу, т.к. мне тема планировщика тоже интересна
![]() Необходимо создать 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>
|
|
Отправлено: 03:44, 05-10-2010 | #9 |
|
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать 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
|
|
Отправлено: 12:54, 05-10-2010 | #10 |
|
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| CMD/BAT - [решено] Как сдедать выполнение команды только после выполнения куска кода? | Ingolder | Скриптовые языки администрирования Windows | 8 | 01-09-2010 22:52 | |
| CMD/BAT - [решено] Выполнение команды запуск sfx архива | timon45 | Скриптовые языки администрирования Windows | 4 | 21-08-2010 22:11 | |
| Разное - проблема с schtasks | dimV | Microsoft Windows 2000/XP | 1 | 30-06-2010 15:26 | |
| [решено] Как заткнуть *.cmd? Как скрыть выполнение DOS-овской команды? | J-S | Автоматическая установка Windows 2000/XP/2003 | 5 | 08-05-2010 22:24 | |
| CMD/BAT - [решено] удаленное выполнение команды | Diver1 | Скриптовые языки администрирования Windows | 2 | 20-03-2009 10:39 | |
|