PDA

Показать полную графическую версию : [решено] Скрипт на (выключение,перезагрузку, сон...), через 2-12 часов простоя


PlagIaT
30-07-2013, 15:01
Всем привет!

Стандартными средствами настроить не получается.
Начинающий скрипт-юзер, не знаю .
Стороннее ПО типа - PowerOff. Подходит,Но при перезагрузке ПК(срабатывании) цикл не повторяется.
Хочется, что бы комп при включении запускал скрипт в автозагрузке, но пользователю он был не виден. Если мышкой и(или) клавиатурой не пользуются 2- 12 часов, то он выключался( если возможно, то корректно закрывая открытые приложения).

Iska
30-07-2013, 15:27
PlagIaT, на WSH такого не сделать. По той простой причине, что у него нет доступа к функциям, позволяющим определить этот самый «простой». Возможно, получится на PowerShell, поройтесь в поиске.

если возможно, то корректно закрывая открытые приложения »
Открыли Word, настучали пару строк текста, бросили. Как «корректно» закрыть?!

PlagIaT
30-07-2013, 15:38
Iska, а Вы не владеете этим PowerShell?

Iska
30-07-2013, 15:43
Iska, а Вы не владеете этим PowerShell? »
Я учусь ему. Неспешно ;).

PlagIaT
30-07-2013, 15:44
Ещё 1 вариант. Возможно ли управлять галочкой в POwer Off через скрипт. А также сделать это автоматизированным?

Iska
30-07-2013, 15:47
Есть много «Power Off»'ов. О каком именно приложении идёт речь, и о какой именно галочке? Приведите ссылку и скриншот.

PlagIaT
30-07-2013, 15:58
Не могу с компьютера загрузить. Программа не требует установки. Вот ссылка накартинку http://soft.softodrom.ru/%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82/2790/
Галочка на пункте "простой системы".
(Установив галочку, пк выполнит команду. Но после включения приходится настраивать (ставить галочку) заново, чего и хочется обойти...)


У меня она называется "PowerOff63_RUS.exe", других описаний нет.

Iska
30-07-2013, 16:12
Но после включения приходится настраивать (ставить галочку) заново, чего и хочется обойти...) »
Поставьте галочку, нажмите «Tab», смените вкладку, закройте приложение, запустите его снова. Галочка будет на месте.

PlagIaT
30-07-2013, 16:38
Чичас проверю))


Спасибо!

Iska, дело в том, что при срабатывании в этой программе условия( например выключение через 2 мин простоя) - Пк выключится.
Включаем, программа заходит автоматически с запуском Windows, но Галочка уже не стоит, соответственно цикл не повторится.

Iska
30-07-2013, 16:56
PlagIaT, не верю. Не может быть, чтобы без перезагрузки флажок сохранялся, а при перезагрузке — нет. Состояние флажка (как и остальных настроек) сохраняется в файле «PowerOff[Имя пользователя].ini», конкретно:
CheckBox31=1

Vadikan
30-07-2013, 17:35
Интервал запуска после простоя прекрасно задается в планировщике заданий на вкладке Условия. Остальное - примитивные скрипты psshutdown.

Iska
30-07-2013, 18:34
Дополню предыдущее сообщение: в старых ОС — на вкладке «Расписание».

PlagIaT
01-08-2013, 13:51
Прошу прощения, но тема осталась ещё актуальной!
1. Мб. у меня не та версия "PowerOff".
Всё проверял много раз.
При входе в программу PowerOff я выставляю параметры срабатывания (через 1 мин простоя выйти из системы), заранее удаляя фаил PowerOff[Пользователь].ini - что бы программа сохранила с новыми условиями. Закрыл прогу, в файле PowerOff[Пользователь].ini строка действительно "CheckBox31=1", НО после выполнения условий срабатывания - фаил PowerOff[Пользователь].ini так же изменяется и строка выглядит так"CheckBox31=0".

Попробовал ВСЁ что есть в программе- галочки "сохранить настройки..." безрезультатно.



2. По поводу планировщика.
Винд 7. Думаю параметры железа не важны.
Сделал скрипт который выдаёт сообщение в VBS - вот его тело
"Set a = CreateObject("WScript.Shell")
b = a.Popup ("Выключить ПК?",7200,"Windows",36)
If b= vbYes then
C= MsgBox ("СЕРЬЁЗНО?",+vbYesNo+16,"Windows")
If C= 6 then msgBox "1"
If C= 7 then msgBox "2"
end if
If b= vbNo then msgBox "1""

, хотел его использовать в планировщике чтобы при простои или интервале времени (в 2 часа ) ПК запускал этот фаил.
Вообщем при ручном запуске срабатывает, а при выставлении триггеров - не срабатывает .Статут пишет "Экземпляр этой задачи уже выполняется". Вообщем думал, что интереснее и полезнее будет скрипт написать на это всё...

Vadikan, если есть способ мне помочь. Прошу подробнее.
В планировщике настраиваю всё логично, но автоматического запуска не происходит....Опят же перепробовал много комбинаций....

Vadikan
01-08-2013, 15:19
Прошу подробнее. »
Возвращаю вам цитату. Подумайте, какой информации не хватает для удаленной диагностики.

Iska
01-08-2013, 15:48
При входе в программу PowerOff я выставляю параметры срабатывания (через 1 мин простоя выйти из системы), заранее удаляя фаил PowerOff[Пользователь].ini - что бы программа сохранила с новыми условиями. Закрыл прогу, в файле PowerOff[Пользователь].ini строка действительно "CheckBox31=1", НО после выполнения условий срабатывания - фаил PowerOff[Пользователь].ini так же изменяется и строка выглядит так"CheckBox31=0". »
PlagIaT, что мешает создать копию ini-файла с потребными настройками и копировать его перед запуском приложения в папку приложения?

Но лучше воспользуйтесь имеющимися средствами (http://forum.oszone.net/post-2193455.html#post2193455).

PlagIaT
29-08-2013, 09:05
Программа PowerOff не позволяет сохранить настройки.После срабатывания условий, необходимо настраивать заново.
Есть мысль как это решить.
Средством VBS написал такое тело:
Set a = CreateObject("WScript.Shell")
b = a.Popup ("Выключить ПК?",10,"Windows",36)
If b= vbYes then
C= MsgBox ("СЕРЬЁЗНО1",+vbYesNo+16,"Windows")
If C= vbYes then MsgBox "СЕРЬЁЗНО2",+vbYesNo+16,"Windows"
If C= vbYes then MsgBox "shudown.exe -s -t 1"
If C= vbno then msgBox "не выключу"

end if
If b= vbNo then msgBox "Конец программы"

В планировщике он начал запускаться через 2-3 дня.

Вопрос)
Что необходимо сделать (или дописать), что бы если пользователь не нажимает кнопки (не "да" ни "нет)- программа выключила ПК?

Iska
29-08-2013, 09:42
Что необходимо сделать (или дописать), что бы если пользователь не нажимает кнопки (не "да" ни "нет)- программа выключила ПК? »
Option Explicit

Select Case WScript.CreateObject("WScript.Shell").Popup("Shutdown this PC (automatically reply «Yes» after 15 seconds delay)?", 15, "Shutdown this PC", vbYesNoCancel + vbQuestion)
Case vbYes, -1
' Place here shutdown code
Case Else
' Nothing to do
End Select

WScript.Quit 0

PlagIaT
29-08-2013, 12:03
Iska, не соображу как это связать.
Через VBS пробовал запустить. Работает)))
Я юсер в VBS ( можно подробнее?Как, что работает и где,что прописать?
Ваша программа позволяет вывести 3 кнопки и автоматическое закрытие через 15 секунд.
Не понимаю где цикл того, чтобы через n-ое количество секунд, если не нажать "отмена" Пк. выключился бы?


Дописал :
Set a = CreateObject("WScript.Shell")
b = a.Popup ("Выключить ПК?",10,"Windows",36) 'это секунды "жизни" программы. Как по истечению этого времени выключить программно пк?

If b= 6 then
C= MsgBox ("СЕРЬЁЗНО1",+vbYesNo+16,"Windows")
If C= 6 then
e= MsgBox ("СЕРЬЁЗНО2",+vbYesNo+16,"Windows")
If e= 6 then MsgBox "shudown.exe -s -t 1"
If e= 7 then msgBox "не выключу"
end if
end if
If b= 7 then msgBox "Конец программы"

Iska
29-08-2013, 16:15
если не нажать "отмена" Пк. выключился бы? »
Вместо этого:
' Place here shutdown code »
дописывайте.

PlagIaT
02-09-2013, 07:30
Доброе утро!

Всё решилось гораздо проще.....

Set a = CreateObject("WScript.Shell")
a.run "shutdown.exe -s -t 7200"
msgbox ("НАЖМИ ОК ЧТОБЫ НЕ ВЫКЛЮЧИТЬ ПК")
a.run "shutdown -a"

Если пользователь не нажмёт кнопку ок, то ПК выключится....
Всем спс!




© OSzone.net 2001-2012