#0
by Ткачев
Нужно перед выключением компьютера сделать запуск батника, в планировщике нашел только "При запуске системы".
#5
by andrewks
у тебя заголовок и содержание расходятся в разные стороны. уточни конкретно, что именно надо
#6
by Ткачев
Нет, мне не надо его выключать, мне надо что бы когда через "Пуск-Выключение компьютера", или по кнопке питания, отработался сначала батник или скрипт.
#9
by Ткачев
Там есть в тригеррах "При событии", журналы, источники, код события, вот видимо тут надо копать, вот только я не знаю в какой журнал он пишет что комп надо выключить.
#11
by Ткачев
Не вариант, надо именно при выключении компа, событие "Отключения пользователя" тоже не пойдет, при перезагрузке оно тоже срабатывает.
#12
by dk
можно написать свою прогу, которая будет висеть в памяти и сканировать список процессов, если определенный процесс завершился - значит комп вырубается можно своих процессов назапускать несколько штук и как только их кол-во уменьшилось - значит комп вырубается хотя есть 2 проблемы 1. процессы могут гасить не только при завершении 2. период опроса процессов - можно не успеть отловить событие - усе закроют либо тупо ловить собственное закрытие процесса, а не опрашивать список текущих
#23
by Ткачев
Оно и при перезагрузке работает, как то можно проверить, что у нас идет выключение или перезагрузка ? Нет, время выключения увеличивается на время архивации.
#26
by Ковычки
в gpedit.msc Конфигурация компьютера - Административные шаблоны - Система (не раскрываем) - Включить свойство данных состояния системы слежения за завершением работы - Включено пишем скрипт, запускаем единожды (модифицируем или обуниверсаливаем и/или упрощаем под себя), после перезагрузки повторно запускать не надо.
#27
by Ткачев
У меня WIN7x64, там нет такого "Включить свойство данных состояния системы слежения за завершением работы"
#28
by Ткачев
Журнал событий "System-User32" Код события: 1074, Тип выключения: Выключение компьютера Как в скрипте прочитать последнею запись из журнала и при сравнении Кода и Типа запустить архивацию ?
#31
by Ковычки
а по поводу "фильтровать" тебе этого не надо, выполняться активскрипт будет при появлении события в журнале (можно сделать именно по самому событию), ну уж если надо - адо + обратный отсчет
#32
by Ткачев
Я так уже делал, он не останавливается на нем, скрипт запускает и дальше комп выключает.
#33
by Ковычки
еще раз, в не скрипт, а скрипт создает постоянного поставщика, в качестве "обработчика" можно использовать как активскриптконсумер, так и командлайнконсумер а как заставить ждать завершения работы обработчика, или дать отмену выключения/перезагрузки описано в сапорте микрософт
#34
by Ткачев
Букав сильно много... Я сделал так: strComputer = "." Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\" & strComputer & "
ootcimv2") Set colLoggedEvents = objWMIService.ExecQuery _ ("Select * from Win32_NTLogEvent Where Logfile = 'System' and SourceName='User32'" _ & "and (EventCode = '1074' or EventCode = '1076')") For Each objEvent in colLoggedEvents If InStr(objEvent.Message, "Тип выключения: Выключение питания") > 0 Then ' Тут формируется имя файла из даты и времени, я копипастить не стал NameFile = "Arc" Set WshShell = CreateObject("Wscript.Shell") WshShell.Run("c:Progra~17-Zip7z.exe a -mx7 -r0 -x!*.cdx D:ArchivDB_" & NameFile & ".7z d:1CDB", 1, True) End If Exit For Next Помогите избавиться от For, в запросе если делаю TOP 1 или Select 1, начинает ругаться на For, как сделать выборку из запроса на одну запись ?
#36
by Ткачев
Зачем делать , если работает, тем более в не написано что делать с этим событием, т.е. как его проверить и на его основании запустить свою программу.
#38
by Ткачев
+И судя по WITHIN 1 долбиться в журнал каждую секунду, кому нах это надо ? Но это имхо, я не понимаю в этом, просто прочитал в учебнике что WITHIN это интервал опроса запроса, возможно я и не прав...
#41
by Ковычки
возникнет маленькая проблема - не успеет отработать нужное, можно конечно вайтапликейшн в реестре увеличить или первой командой делать отмену выключения, а по окончании уже делать выкл/перезагрузку
#43
by Ткачев
Это скрипт BackUp.vbs он запускается из , мне не надо ничего отслеживать, все уже отследилось, мне надо получить ОДНУ последнею запись в журнале, в 1с это выглядело бы так ВЫБРАТЬ 1 * ИЗ ЖурналСобытий ... Как сделать запрос "Select Message from Win32_NTLogEvent Where Logfile = 'System' and SourceName='User32'" _ & "and (EventCode = '1074' or EventCode = '1076')" что бы он вернул одну единственную запись, а не все записи журнала? И как ее потом выбрать?
#47
by Ткачев
Помогите 1с Запрос, преобразовать в скрипт, данные журнала в Запрос = Новый Запрос ("ВЫБРАТЬ ПЕРВЫЕ 1 | Message |ИЗ | ЖурналСобытий |ГДЕ | Logfile = "System" | И SourceName = "User32" | И (EventCode = 1074 ИЛИ EventCode = 1076)"; Выборка = Запрос.Выполнить; Если Выборка.Следующий Тогда Если Найти(Выборка.Message, "Выключение компьютера") > 0 Тогда //Тут запускаю архивацию КонецЕсли; КонецЕсли;
#48
by Ковычки
что же Вы такой "бестолковый" хотя бы так s="" for each x in GetObject("winmgmts:").ExecQuery("select * from win32_ntlogevent where Logfile = 'System' and SourceName= 'USER32' and (EventCode = '1074' or EventCode = '1076') and TimeGenerated > '" & year(now) & right(0 & month(now),2) & right(0 & day(now),2) & "000000.000000+000'") s=s & x.eventcode & vbcrlf next msgbox s
#50
by Ткачев
Гомнокод, тоже самое что и в , фильтр по времени не рулит, лано хер с ним, если нельзя элементарно одну запись получить то буду останавливать цикл после первой записи.
#51
by Torquader
Если нужно что-то сделать при завершении, то нужно писать сервис, который получает уведомление о завершении системы и напоминает ей, что ещё не пора завершаться. В противном случае процесс (и даже сценарий) не успевает отработать, если завершение сделали в режиме Force (когда выполняется немедленное завершение).
#52
by Ткачев
Нее, работает все нормально, время выключения увеличилось на время архивации, просто я хотел выбрать отбором ExecQuery только одну запись а не все по отбору, но не получилось, пришлось принудительно For завершать после чтения первой записи.
#53
by Torquader
У меня в режиме завершения Force не получалось - процесс прерывался через некоторое время, а сценарии вообще не отрабатывали, так как система считала, что завершаться нужно быстро. К сожалению, драйвер UPS требовал именно режим Force, поэтому пришлось обойтись без обработки.
#57
by Ковычки
+ в ветке все написано, как и одну запись вытянуть и как не вытягивая ничего получить событие с кодом
#58
by skunk
это всю тему не смотрел ... а это что мешает посмотреть политики ... там есть опция выполнить перед выключением
#62
by Ткачев
Триггер я уже ставил, он и на перезагрузку работает и я не могу остановить выполнение "Завершения работы", т.е. архивация не успевает завершиться, идеальный вариант это , на других форумах мне сказали что без for тут не обойтись, лано... оставим все как есть, просто хотелось разобраться можно ли фильтровать и отбирать как тебе хочется. Завершенный код (соответственно CreateArchive по своему усмотрению), всем спасибо!": For Each ObjEvent In GetObject("winmgmts:").ExecQuery("Select Message From win32_ntlogevent "_ & "where Logfile = 'System' and SourceName= 'USER32' and (EventCode = '1074' or EventCode = '1076') "_ & "and TimeGenerated > '" & year(now) & right(0 & month(now),2) & right(0 & day(now),2) & "000000.000000+000'") Exit For Next If InStr(ObjEvent.Message, "Тип выключения: Выключение питания") > 0 Then mm = Right(0 & Month(Date) , 2) dd = Right(0 & Day(Date) , 2) hh = Right(0 & Hour(Time) , 2) mn = Right(0 & Minute(Time), 2) ss = Right(0 & Second(Time), 2) NameFile = Year(Date) & mm & dd & hh & mn & ss Set WshShell = CreateObject("Wscript.Shell") CreateArchive = WshShell.Run("c:Progra~17-Zip7z.exe a -mx7 -r0 -x!*.cdx D:ArchiveDB_" & NameFile & ".7z d:1CDB", 1, True) End If
#63
by Ковычки
остановить завершение shutdown /a но добавив времени сервисам и особенно рпс а получить последний реально
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Обработка печатающая все реквизиты документа
- Перенос нетиповой бухгалтерии 7.7. в 8.2
- ЗУП КОРП. Как ввести анкету?
- Установка отборов в отчета Свод начислений в УПП
- Яндекс в Опере вместо поиска постоянно выбрасывает на редирект
- Помогите перешедшему с v7 создать запрос из двух регистров с объединением
- 8.2 В процессе обновления информационной базы произошла критическая ошибка
- Требуется скачать с Infostart.ru
- Преобразование строки в дату в запросе
- СКД. Скрыть колонку показателя в зависимости от значения группировки
- выборка из запроса в конвертации
- Поясните логику: Страна происхождения в УТ 10.3
- СКД: Расчет среднего и максимума в общих итогах.
- ScanOPOS.dll 8.0.8.4 програмно задать COM???
- Почему эта хрень не работает в управляемом приложении ПриНачалеРаботыСистемы?
- METTLER TOLEDO TIGER P и 1С
- Скрипт для подключения сетевого диска для терминальной сессии.
- УПП, Сдельный Наряд, расхождение сумм по регистру БУ
- Обращение к документу во внешней печатной форме
- Как считается себестоимость в отчете "Валовая Прибыль" в УТ 10.3.14.5?