Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Принудительные выход из системы/завершение работы (http://forum.oszone.net/showthread.php?t=178784)

Iruta-san 21-06-2010 17:03 1438755

Принудительные выход из системы/завершение работы
 
Необходимо реализовать аварийное завершение работы или выход из системы, чтобы пользователю не пришлось ничего подтверждать. По умолчанию команды logoff и shutdown спрашивают разрешения на уничтожение подвисших процессов, а главное - сохранение открытых документов.
По идее, у logoff есть ключи /f и /n, но ни один из них не убивает, к примеру, открытый блокнот с несохраненным текстом.
Shutdown /f тоже почему-то не дает нужного результата...

И еще момент: правильно ли я понимаю, что после команд logoff и shutdown в скрипте больше ничего выполняться не будет в связи с "ошибкой инициализации в связи с остановкой рабочей станции"?

Iska 21-06-2010 18:46 1438831

Про «logoff» не скажу, а «Shutdown» у меня работает нормально в указанном случае.
Цитата:

Цитата Iruta-san
И еще момент: правильно ли я понимаю, что после команд logoff и shutdown в скрипте больше ничего выполняться не будет в связи с "ошибкой инициализации в связи с остановкой рабочей станции"? »

У «shutdown» есть параметр «-t» — отсрочка времени выполнения; не пробовали?

seriych 21-06-2010 19:01 1438849

Iruta-san,
Попробовал shutdown.exe -s -f -t 0
Несохраненный блокнот выдает предупреждение, которое висит около 5 секунд, а потом работа завершается. Или надо, чтобы оно вообще не выдавало этого предупреждения?

zonderz 22-06-2010 00:51 1439053

Цитата:

Цитата Iruta-san
Shutdown /f тоже почему-то не дает нужного результата... »

все правильно, перед shutdown рекомендуется пробежаться taskkill'ом по процессам,
а также sc по службам...
определите список постоянных системных процессов (svchost, winlogon и пр.)
уничтожайте taskkill 'ом все любые иные (winword, mplayer, taskmgr и др...)
то же самое со службами

эффект 100%


Цитата:

Цитата Iruta-san
И еще момент: правильно ли я понимаю, что после команд logoff и shutdown в скрипте больше ничего выполняться не будет в связи с "ошибкой инициализации в связи с остановкой рабочей станции"? »

да, проблемы вероятны

Iska 22-06-2010 02:28 1439075

Цитата:

Цитата zonderz
все правильно, перед shutdown рекомендуется пробежаться taskkill'ом по процессам,
а также sc по службам... »

Откуда такая информация?

Iruta-san 23-06-2010 14:23 1440137

Цитата:

Цитата seriych
Попробовал shutdown.exe -s -f -t 0
Несохраненный блокнот выдает предупреждение, которое висит около 5 секунд, а потом работа завершается. Или надо, чтобы оно вообще не выдавало этого предупреждения? »

Попробовал тоже, результат тот же. В принципе, подходит, но все-таки было бы желательно рубить все без всплывания запросов. Но я сильно подозреваю, что средствами cmd этого не добиться...

Цитата:

Цитата zonderz
все правильно, перед shutdown рекомендуется пробежаться taskkill'ом по процессам,
а также sc по службам... »

А есть ли какой-нибудь вариант, чтобы все рубилось автоматом, а не с указанием явно имен процессов и служб?

Цитата:

Цитата Iska
У «shutdown» есть параметр «-t» — отсрочка времени выполнения; не пробовали? »

Не подходит, одна из задач - исключить ввод shutdown -a.
Поступил следующим образом - перед shutdown добавил в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services службы, в которых прописаны нужные софтинки, а следом в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce путь до скрипта, убирающий эту службу

zonderz 23-06-2010 14:50 1440155

напрмер
Цитата:

Цитата Iska
Откуда такая информация? »

например, в руководстве по MS Exchange 2003
да и потом - какая разница? это и так очевидно...

Iska 23-06-2010 17:11 1440243

Цитата:

Цитата Iruta-san
Не подходит, одна из задач - исключить ввод shutdown -a. »

Спасибо, ясно.
Цитата:

Цитата zonderz
да и потом - какая разница? это и так очевидно... »

Мне — нет,
Цитата:

Цитата zonderz
например, в руководстве по MS Exchange 2003 »

потому — просьба: Вы не могли бы, для меня, процитировать данную информацию?

zonderz 24-06-2010 16:44 1440942

Iska, http://www.google.ru/search?q=shutdown+exchange+server

Цитата:

Цитата Iska
Мне — нет, »

Ну тогда я вам объясню: есть приложения, при работе которых команда shutdown -s -f -t 0 не сработает.
Рекомендуется их закрыть перед выполнением этой команды. Закрыть их можно только принудительно с помощью taskkill /F /IM procname.
Аналогично со службами. Косяк M$.


Время: 17:48.

Время: 17:48.
© OSzone.net 2001-