![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Разное - [решено] Событие и код перехода на питание от батареи |
|
Разное - [решено] Событие и код перехода на питание от батареи
|
Пользователь Сообщения: 114 |
Здравствуйте! Есть одна задумка. Хочу создать определённые задания в планировщике задач, которые бы запускались при переходе на питание от батареи. Не могу определить тригер для этого. То есть запуск задачи при событии, а вот журнал, источник и код события не могу найти. Бродил на TechNet, но ничего подходящего не смог найти. Может быть есть какой-то альтернативный вариант, то есть запуск задания по какому-то другому условию, которое в свою очередь всегда выполняется системой при переходе на питание от батареи?
|
|
Отправлено: 08:57, 21-06-2015 |
Сообщения: 25151
|
Профиль | Сайт | Отправить PM | Цитировать Цитата n_i_x:
If ($batt.BatteryStatus -ne $prevBatteryStatus) { if ($prevBatteryStatus -like '2') { $EventID = 10 $EventMsg = "Switched to Battery Power! $($Message.ChargeRemMsg), Minutes: $($Message.RemTimeMsg)" } else { $EventID = 11 $EventMsg = "Switched back to AC Power! $($Message.ChargeRemMsg), Minutes: $($Message.RemTimeMsg)" } Write-EventLog -LogName BatteryMonitor -Source BattMon -EventID $EventID -Message $EventMsg -EntryType Warning -ComputerName $env:computername -ErrorAction:SilentlyContinue |
|
------- Отправлено: 16:25, 21-06-2015 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Сообщения: 25151
|
Профиль | Сайт | Отправить PM | Цитировать А в принципе, по первоначальной постановке вопроса я понял, что вам вам не нужно ежесекундный отчет в консоли, запись в журнал событий о запуске скрипта, о низком заряде батареи и т.д. Вам ведь нужно только, чтобы в журнал записывалось событие при отключении от сети и переход на питание от батареи? Если так, то скрипт можно существенно сократить - batterylog_0.zip
А если целью был просто запуск приложения при переходе на питание от батареи, то берите batterylog_1.zip и поправьте в нем путь к запуску программы в строке 12. Если программу нужно запускать с параметрами, то параметры указывайте за кавычками. Вместо C:\Program Files\ можете использовать переменную $env:ProgramFiles Скрипт спокойно запускается из планировщика и при соответствующей настройке задачи не показывает свое окно. |
------- Отправлено: 18:26, 21-06-2015 | #12 |
Пользователь Сообщения: 114
|
Профиль | Отправить PM | Цитировать Блин! Огромное человеческое спасибо!!!!!
Изначально у меня была задумка, что бы при переходе на питание от батареи, автоматически менялась тема оформления с заставки на чёрный фон, закрытие определённых приложений и тому подобное, а при переходе на питание от электросети возвращалось всё обратно. Всё подготовил для этого, но вот с событиями батареи запнулся) |
Отправлено: 18:41, 21-06-2015 | #13 |
Сообщения: 25151
|
Профиль | Сайт | Отправить PM | Цитировать В таком случае можно опять же обойтись без записей в журналы событий (незачем их загаживать чем попало).
Примерно так (требуется проверка, спешил, мог напортачить): $checkInterval = 1 $prevBatteryStatus = 2 $prevLogTime = 0 do { $batt = Get-WmiObject -Class Win32_Battery If ($batt.BatteryStatus -ne $prevBatteryStatus) { if ($prevBatteryStatus -like '2') { & "<путь к батнику, который меняет настройки при работе от батареи>" } else { & "<путь к батнику, который меняет настройки при работе от сети>" } } $prevBatteryStatus = $batt.BatteryStatus $currLogTime = New-TimeSpan "01 January 1970 00:00:00" $(Get-Date) $diff = $currLogTime.TotalSeconds - $prevLogTime.TotalSeconds Sleep $checkInterval } while (1) |
------- Отправлено: 20:24, 21-06-2015 | #14 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Здравствуйте. Последний скрипт хорош, и мне подходит для одной из задач. Но я так понял, что он не просто проверяет состояние питания, а сравнивает его с предыдущим, работая циклически? А для второй моей задачи нужно просто единоразово запустить подобный скрипт, чтобы он, в свою очередь, выполнил действия в зависимости от типа питания (как и в предыдущем примере) и завершился. Как его отредактировать для этих целей?
|
Отправлено: 12:40, 05-12-2015 | #15 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Напряжение на контактах, идущих от батареи | buzanovn | Ноутбуки | 10 | 26-06-2018 13:09 | |
Падает яркость на ноутбуке при работе от батареи | Leeaka0ne | Хочу все знать | 5 | 12-01-2015 06:15 | |
2008 R2 - [решено] Может кому поможет. Встретил проблему Решил Код события 47 Событие WHEA-logger | bad-us | Windows Server 2008/2008 R2 | 5 | 21-10-2014 12:05 | |
Ноут включается только от батареи, от сети без батареи не хочет | stranges | Непонятные проблемы с Железом | 5 | 06-09-2011 13:37 | |
Событие 1030 от USERENV | flower | Microsoft Windows NT/2000/2003 | 7 | 09-12-2009 14:01 |
|