|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Отловить простой системы и выход из него |
|
CMD/BAT - Отловить простой системы и выход из него
|
Ветеран Сообщения: 12426 |
Даже не знаю с какого боку зайти уже. Что требуется:
При простое = 600s (в этот момент гасится монитор) - запуск батника. При выходе из простоя - запуск другого батника. Пробовали реализовать это с помощью коллективного разума средствами системы - не вышло. Т.е. если бы что-то писалось в журнал при, допустим, гашении и включении монитора, то можно было бы завесить на это событие задание в планировщике, но ничего не пишется... Удалось реализовать только так: в св-вах заставки ставим время и флажок "Начинать с экрана входа в систему", в этом случае происходит блокировка, а на блокировку/разблокировку легко назначается нужное задание в планировщике. Но это не удобно, т.к. надо выбирать учётную запись при разблокировке. Под простоем понимается отсутствие нажатий на клавиши, при любой загруженности процессора и HDD, Любые идеи? ОС: Windows 7, на всякий случай. |
|
Отправлено: 03:39, 25-05-2010 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Morpheus, как вариант - сделать привязку к событию вкл./выкл. хранителя экрана статья:
Running a Program from the Command Line Based on an Event, MOF-файл: #pragma namespace ("\\\\.\\Root\\subscription") // Создание экземпляра потребителя событий командной строки // для запуска батника "c:\\TEST\scrstart.cmd", и // присвоение ему псевдонима $SCRSTARTCONSUMER instance of CommandLineEventConsumer as $SCRSTARTCONSUMER { Name = "ScreenSaverStartConsumer"; CommandLineTemplate = "c:\\TEST\\scrstart.cmd %TargetInstance.Name%"; WorkingDirectory = "c:\\TEST"; }; // Создание экземпляра потребителя событий командной строки // для запуска батника "c:\\TEST\scrstop.cmd", // присвоение ему псевдонима $SCRSTOPCONSUMER instance of CommandLineEventConsumer as $SCRSTOPCONSUMER { Name = "ScreenSaverStopConsumer"; CommandLineTemplate = "c:\\TEST\\scrstop.cmd %TargetInstance.Name%"; WorkingDirectory = "c:\\TEST"; }; // Создание экземпляра фильтра событий // для создания нового процесса *.SCR // и присвоение ему псевдонима $SCRSTARTFILTER instance of __EventFilter as $SCRSTARTFILTER { Name = "ScreenSaverStartFilter"; EventNamespace = "\\\\.\\root\\cimv2"; Query = "SELECT * FROM __InstanceCreationEvent WITHIN 5 " "WHERE TargetInstance ISA \"Win32_Process\" " "AND TargetInstance.Name LIKE \"%%.scr\""; QueryLanguage = "WQL"; }; // Создание экземпляра фильтра событий // для удаления процесса *.SCR // и присвоение ему псевдонима $SCRSTOPFILTER instance of __EventFilter as $SCRSTOPFILTER { Name = "ScreenSaverStopFilter"; EventNamespace = "\\\\.\\root\\cimv2"; Query = "SELECT * FROM __InstanceDeletionEvent WITHIN 5 " "WHERE TargetInstance ISA \"Win32_Process\" " "AND TargetInstance.Name LIKE \"%%.scr\""; QueryLanguage = "WQL"; }; // Создание экземпляра связи между фильтром и подписчиком // события запуска хранителя экрана instance of __FilterToConsumerBinding { Consumer = $SCRSTARTCONSUMER; Filter = $SCRSTARTFILTER; }; // Создание экземпляра связи между фильтром и подписчиком // события остановки хранителя экрана instance of __FilterToConsumerBinding { Consumer = $SCRSTOPCONSUMER; Filter = $SCRSTOPFILTER; }; P.S. Windows 7 под рукой нет, проверял на 2003 |
Отправлено: 10:58, 25-05-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 12426
|
Профиль | Отправить PM | Цитировать amel27, это на С++? Боюсь, что не имея даже базовых знаний С++, это для меня сложновато будет.
Проще варианты возможны? |
Отправлено: 12:33, 25-05-2010 | #3 |
(*.*) Сообщения: 36557
|
Профиль | Сайт | Отправить PM | Цитировать Morpheus, подошел со стороны заставки...
How Can I Log the Start Time and the End Time of the Screensaver? http://blogs.technet.com/b/heyscript...reensaver.aspx Если можно отследить время запуска и остановки заставки, то можно и событие на это повесить... если знать WMI ![]() |
------- Отправлено: 12:45, 25-05-2010 | #4 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата Morpheus:
Цитата Vadikan:
![]() |
|||
Отправлено: 13:25, 25-05-2010 | #5 |
Ветеран Сообщения: 12426
|
Профиль | Отправить PM | Цитировать Vadikan, amel27, спасибо! Пробую разобраться, вопросы будут возникать, наверняка
![]() |
Отправлено: 13:35, 25-05-2010 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать По-хорошему, надо бы ещё учитывать командную строку запуска *.scr, точнее, параметры его запуска То бишь, желательно бы добавить в MOF в условие ещё один предикат LIKE на параметр « /s».
|
Отправлено: 15:13, 25-05-2010 | #7 |
Ветеран Сообщения: 12426
|
Профиль | Отправить PM | Цитировать Голова уже трещит... Помогайте, плз!
![]()
|
|
Отправлено: 19:22, 25-05-2010 | #8 |
Ветеран Сообщения: 727
|
Профиль | Отправить PM | Цитировать Morpheus,
вопрос: а зачем вам вообще скринсэйвер? Зачем вы свою задачу к нему подвязываете? Без него нельзя никак обойтись? |
------- Отправлено: 20:16, 25-05-2010 | #9 |
Ветеран Сообщения: 12426
|
Профиль | Отправить PM | Цитировать zonderz, а с какой целью интересуетесь?
Цитата zonderz:
Или имеется в виду, что будет в батниках? Сейчас задачи одни (что-то подгрузить, что-то выгрузить), какие будут завтра, пока не знаю. Но знать, как это делается полезно в любом случае. |
|
Отправлено: 20:32, 25-05-2010 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PantherXP - создание образа системы и развертывание из него (статья) | alexandr100 | Автоматическая установка Windows 2000/XP/2003 | 174 | 05-01-2014 18:42 | |
Происходит автоматический выход из системы каждую минуту | 06072009 | Microsoft Windows Vista | 2 | 01-04-2011 15:48 | |
Toshiba Qosmio X300-14X и двух-канальный ли HDMI выход у него ? | XPOM | Ноутбуки | 2 | 15-02-2010 14:02 | |
Загрузка - глюк после приветствия "выход из системы" | werify | Microsoft Windows 2000/XP | 1 | 27-08-2009 14:14 | |
Самостоятельное изменение диалогов Завершение работы и Выход из системы | prokazzza | Проект WinStyle | 1 | 04-08-2009 01:19 |
|