выключение компьютера

Программирование - Практика программирования

Несколько лет назад возникла необходимость выключения компьютеров в заданное время, желательно без участия польльзователей компьютеров - в конце рабочего дня запускалось резервное копирование, через 2 часа заканчивалось, нужно было тушить компутеры. Существующие на то время програмки не имели возможности "прописываться" на автозапуск и запоминать параметры последнего запуска. Вот что наваял в итоге еще под 6 delphi по-моему :) Сием пользуюсь до сих пор...

Скачать файлы

Наименование Файл Версия Размер
stimer.exe
.exe 4,05Mb
22.06.10
136
.exe 4,05Mb 136 Скачать

См. также

Комментарии
1. Александр (TrinitronHome) 22.06.10 09:44 Сейчас в теме
2. Ivan Kuznietsov (Ivon) 610 22.06.10 11:00 Сейчас в теме
Более простой вариант сделать батник с текстом
shutdown /s /f
3. NoMAx (NoMax) 232 22.06.10 11:04 Сейчас в теме
Даже как-то пугает программа которая только выключает компьютер и
при этом ее размер 4 Мб.

Проще как-то так:

Dim Time
Time = InputBox("Введите время в минутах")
WScript.Sleep 1000 * 60 * Time
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "shutdown.exe -f -s"
4. Александр (neos) 9 22.06.10 11:09 Сейчас в теме
размер 471 кб, а не проще нажать кнопку "применить"?
5. Владислав Чинючин (vcv) 83 22.06.10 11:40 Сейчас в теме
(2) Зачем батник, если "shutdown /s /f" идеально прописывается в шедулер. Только нужно бы добавить ключ /t, на всякий пожарный, правильней будет выглядеть.
А в шедулер можно добавить с помощью "schtasks". Батничком со своей машины сразу по всем включенным компьютерам в сети.
P.S. Хе-хе. Скоро появятся программеры, пишушие специальные программы для копирования файлов из папки в папку. Или такие уже есть?
мама миа; +1 Ответить 1
6. Ivan Kuznietsov (Ivon) 610 22.06.10 12:32 Сейчас в теме
7. NoMAx (NoMax) 232 22.06.10 12:45 Сейчас в теме
Все равно пугает :o
Прикрепленные файлы:
8. Pavel (bpv) 72 23.06.10 10:55 Сейчас в теме
создаешь бат файл с таким содержимым
shutdown -s -f -t 1
, где ключик -t дает возможность установить время задержки выключения в секундах, также можно запускать этот командный файл в шедулере.
9. Владислав Чинючин (vcv) 83 23.06.10 11:45 Сейчас в теме
(8) Может я чего-то не понимаю, объясните мне тогда: зачем делать батник с одной коммандой, что мешает вызвать shutdown.exe прямо из планировщика? Или создать ярлык на "shutdown -s -f -t 1" если уж хочется выключать компьютер без вопросов кликом на иконке.
10. Vitaliy (idef) 23.06.10 17:56 Сейчас в теме
(9) Как-то батником "поуниверсальнее" что ли получается. Если что и подправить можно параметры не лазая в шедулер.
11. Владислав Чинючин (vcv) 83 23.06.10 18:51 Сейчас в теме
(10) Вот тут то и ждет большая дыра в безопасности. Автору нужно тушить пользовательские компьютеры без участия пользователя. Если команда прописана в батничке, этот батничек нужно еще переписать на пользовательский комп и позаботиться, что бы ушлый пользователь не смог его поменять, таким образом, что бы вместо завершения работы что-то другое запустилось с правами задания в планировщике (от админа, с правами пользователя не факт, что получится компьютер гарантированно погасить). Получаются лишние телодвижения (подготовить батник, распространить по компам, назначить на него права) вместо того, что бы просто одной командой прописать на удаленном компе команду в планировщик.
for /f "tokens=1 delims=\ " %i in ('net view ^| findstr "\\"') do @SCHTASKS /Create /S %i /U Администратор /P пароль /RU Администратор /RP пароль /SC DAILY /TN "Выключение" /TR "C:\Windows\System32\shutdown.exe -s -f -t 1"
Команду писал без проверки, за правильность не ручаюсь.
12. Vitaliy (idef) 23.06.10 19:16 Сейчас в теме
(11). Во-первых: Проблема безопасности решается назначением прав доступа к файлу.
Во-вторых: Если имеем AD копировать гораздо проще.
Давайте не будем углубляться в администрирование - рискуем утонуть -)))
Вообще-то сам факт авт. шатдауна довольно спорный. Представьте - пользователь делает работу, а тут его бац и нету. Я бы на его месте взялся за оружие -))
13. Vitaliy (idef) 23.06.10 19:19 Сейчас в теме
Для меня интересна связка бэкапа и шатдауна на сервере. Например, в определенное время запускается скрипт на серваке гасит пользовательские соединения делает бэкапы и гасит себя.
ИМХО это может быть актуально для небольших фирм
14. Владислав Чинючин (vcv) 83 23.06.10 20:28 Сейчас в теме
(12) Согласен, не будем углубляться в администрирование.
Вообще-то сам факт авт. шатдауна довольно спорный. Представьте - пользователь делает работу, а тут его бац и нету

Как я понимаю, вопрос у автора стоял так, что все пользователи в 18:00 дружно уходят домой и начинает делаться на пользовательских компьютерах резервная копия. А сервера, похоже, там вообще не было, уж не говоря об АД. Задача, конечно, про сферического коня в вакууме, притом этот конь явно хромает на пару ног. Хотя, наверное, для мелкой конторы, где в качестве сервера выступает пользовательская машина и утром времени делать архивы нет, потому что все работать хотят... Решение "уходишь - запусти архивирование" подходяще.
(13) А что там может быть интересного? Банальная админская задача. В определенное время, когда все пользователи должны уже уйти домой, закрываешь все терминальные сеансы и сетевые подключения, удаляешь потенциально битые после сброса сетевых подключений *.CDX, архивируешь, запускаешь в автоматическом режиме конфигуратор, что бы индексы перестроил. И все.
15. Vitaliy (idef) 23.06.10 20:48 Сейчас в теме
(14)
удаляешь потенциально битые после сброса сетевых подключений *.CDX, архивируешь, запускаешь в автоматическом режиме конфигуратор, что бы индексы перестроил. И все.

в том, то все и дело - как то ненадежно все это выглядит. А если не перестроит он индексы, имеем утром полчаса перекура на индексацию. А лучших вариантов 1С в файловом режиме и не даст.
Ну а в остальном согласен. Хотя в последнее время юзверя пошли грамотные - спрашивают про бэкапы, сервера и пр.
Что не может не радовать - умнее становимся.
16. Владислав Чинючин (vcv) 83 24.06.10 08:03 Сейчас в теме
(15)
1. Перед запуском ночных автоматов убивать процессы 1cv7*.exe на сервере с помощью штатной виндовой taskkill. Можно, если нельзя убивать или не хочется, проверять, например, утилитой 1cusrmon.exe, есть ли кто в базе.
2. Проверить, зарегистрирована ли база в реестре, если нет, зарегистрировать. Штатная утилита reg.exe.
2. Удалить из каталога 1С и базы файлы *.tip, что бы "советы дня" выскакивать не могли.
3. Проверять, нужна ли переиндексация, что бы зазря базу не дергать (см. тут http://www.forum.mista.ru/topic.php?id=114372 ).
4. После переиндексации проверь необходимость переиндексации по 3 и зацикли скрипт. Желательно с уведомлением себя по электронной почте или SMS.

Я каких-то заметных проблем с надежностью не наблюдал. Ну подвиснет иногда 1С при запуске. У меня это редко, некритично и бывает только при дневном запуске автообмена РБД. При желании не сложно штатной утилитой schtasks выгрузить в файл отчет о состоянии задач в планировщике и проверить, а не слишком ли долго выполяется определенная задача.
Денёк повозиться, что бы написать хороший скрипт со всеми нужными проверками и уведомлениями и проблема будет снята.
17. Vitaliy (idef) 24.06.10 18:15 Сейчас в теме
4. После переиндексации проверь необходимость переиндексации по 3 и зацикли скрипт.

Не понял смысла этого пункта.
А вообще большой жирный плюс.
18. Владислав Чинючин (vcv) 83 25.06.10 07:22 Сейчас в теме
(17) Ну ты же жаловался "как то ненадежно все это выглядит. А если не перестроит он индексы, имеем утром полчаса перекура на индексацию". Я и советую - проверь после индексации необходимость повторной индексации (а вдруг, мало ли что), и если нужна - выполнить скрипт с начала.
19. Vitaliy (idef) 25.06.10 21:01 Сейчас в теме
Оставьте свое сообщение