Показать полную графическую версию : [решено] Выполнение командного файла при завершении работы Windows XP
SANIOK_AV
13-07-2011, 13:05
Доброго времени суток!
Подскажите пожалуйста каким образом можно выполнять CMD или BAT файл при:
1) завершении работы Windows
2) завершении сеанса пользователя
?
Заранее благодарен!
Petya V4sechkin
13-07-2011, 13:36
SANIOK_AV, вопрос на миллион долларов, ага.
Пуск -> Выполнить -> gpedit.msc ->
Конфигурация компьютера\Конфигурация Windows\Сценарии -> Завершение работы
Конфигурация пользователя\Конфигурация Windows\Сценарии -> Выход из системы
SANIOK_AV
13-07-2011, 16:21
Petya V4sechkin, Спасибо большое!
Честно говря, думал, что через групповые политики можно только js и vbs сценарии выполнять... )))
Стыжусь, что не попробовал до того как написать... :shuffle:
Думал, что можно ещё как-то через реестр (типа как для старта системы HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)
Ещё раз большое спасибо!!! :oszone:
SANIOK_AV, они и будут в итоге прописаны в реестре, как результат применения вышеуказанной (http://forum.oszone.net/post-1712473.html#post1712473) групповой политики к компьютеру и/или пользователю. С той разницей, что даже если впоследствии удалить вручную из реестра внесённые групповой политикой изменения — они вновь будут восстановлены в момент очередного применения политики.
SANIOK_AV
14-07-2011, 16:03
они и будут в итоге прописаны в реестре »
ну это понятно, но скажем так в "нечитаемом виде" ))
т.е. изначально прописать их в реестре ведь не получится?
т.е. изначально прописать их в реестре ведь не получится? »
Почему нет? Что там нечитабельного?
SANIOK_AV
15-07-2011, 10:20
Почему нет? Что там нечитабельного? »
Прорегшотил...действительно читаемо...
Спасибо!
song2005x
19-03-2012, 12:22
Извините, может что-то делаю не так, подскажите пожалуйста.
Добавил *.bat (*.cmd) файл в выше указаный сценарий запуска при завершении работы системы, но он не запускается, аналогично пробовал его и в автозапуск сценария добавлять (как системы так и пользователя) но он так же не запускается, помогите пожалуйста разобраться в чем траблы.
Имя файла:
FreeBSDshutdown.bat
Вместимое файла:
echo "Testing connection on UNIX server..."
C:
cd \upsmgmt
plink.exe -ssh -P 444 -2 -i winbox.ppk upsadmin@192.168.121.99 "powerdown"
Если файл выполнить вручном режиме он работает без проблем, единственное что при первом запуске спрашивал меня доверяю ли я запускаемому файлу.
Раньше на другом сервере такую функцию далал при автозапуске и все было шикарно.
Petya V4sechkin
19-03-2012, 20:18
song2005x, настройте в Конфигурация компьютера\Административные шаблоны\Система\Сценарии -> параметры "Выполнять сценарии загрузки с отображением команд" и "Выполнять сценарии завершения работы с отображением команд".
Аналогично в Конфигурация пользователя\Административные шаблоны\Система\Сценарии -> параметры "Выполнять сценарии входа с отображением команд" и "Выполнять сценарии выхода с отображением команд".
Добавьте в конец FreeBSDshutdown.bat команду Pause.
После смотрите, какая ошибка (если будет).
song2005x
20-03-2012, 11:58
Все уже не нужно, все заработало как только отключил DEP (Мой Компьютер - Свойства - Дополнительно - Быстродействие - Предотвращение выполнения данных).
Мучался дня 3 с этой ерундой пока при входе одного из пользователей не высветило ошибку с блокировкой прикрученых в запуск *.ехе файлов (странно что мне этих ошибок не выдавало).
Привет всем! А если Windows Home !? Каким образом можно задачу данной темы решить!? Куда именно в реестре что добавить может, чтобы выполнялась команда ДО выключения (или ухода в сон, например) компьютера!?
Sereban.
17-06-2013, 22:56
parzer hezzage value creabon tailed atline 8 что ето такое???
Приветствую!
Присоединяюсь к вопросу - а если Windows Home и gpedit.msc недоступен? Есть вариант пропатчить ОС, но это не совсем дело - потом SFC ругается.
И второй вопрос даже для проф.версий - а есть способ добавить сценарий в политику не запуская консоль и вручную добавляя необходимый cmd-файл, а как-то более автоматически? Пробовал добавлять reg-файл со строками, создающимися при создании сценария вручную, но - не помогает.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Shutdown\0\0]
"Script"="C:\\Windows\\deltemp2.cmd"
"Parameters"=""
"IsPowershell"=dword:00000000
"ExecTime"=hex(b):00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Shutdown\0\0]
"Script"="C:\\Windows\\deltemp2.cmd"
"Parameters"=""
"ExecTime"=hex(b):00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
Нужно, чтобы темпонарий самоудалялся при каждом завершении сеанса (можно и при запуске, но когда добавляю запуск через планировщик, то на экране появляется черное окно на время очистки вне зависимости от установленных галочек в задании и некоторым образом раздражает).
Вопрос: а если мне нужно выполнить действие Разово? Т.е. нужно добавить (в Планировщик, в реестр - неважно) команду, которая после срабатывания обнулится (самоуничтожится). Как ключ в RegEdit Runonce. Т.е. для разового Запуска.
Для чего это нужно: Пользователь (бестолковый пользователь, надо сказать) иногда перед выключением ПК должен выполнить определённую задачу, например скопировать файлы на другой ПК (с помощью bat-файла). А иногда этого делать не нужно - об этом оговаривается заранее. Беда в том, что человек частенько забывает о том, что его просили.
А тут - сразу щёлкнул по ярлыку, задание (разовое) создалось, продолжаем спокойно работать дальше. Будет выключать ПК - Windows "сама" произведёт нужные действия.
Как бы сие реализовать?
Вопрос: а если мне нужно выполнить действие Разово? Т.е. нужно добавить (в Планировщик, в реестр - неважно) команду, »
Добавляйте, кто ж мешает.
после срабатывания обнулится (самоуничтожится). »
Например, последней строкой пакетного файла укажите его удаление:
@echo off
setlocal enableextensions enabledelayedexpansion
echo bla-bla-bla
echo bla-bla-bla
echo bla-bla-bla
del "%~f0"
Цитата Iska:
Добавляйте, кто ж мешает. »
Как? Я что-то совсем запутался :(
Если можно, пример приведите. Я, к сожалению, не слишком компетентен в данной области. Задачу я описал выше.
Вообще, задача очень напоминает то, что чуть выше описывал Acer. Только ответа там нет...
http://forum.oszone.net/post-2265407-13.html
Задачу я описал выше. »
Leon_K, это не задача, это уже выбранное решение.
Начните с определения когда нужно, когда не нужно:
иногда перед выключением ПК должен выполнить определённую задачу, например скопировать файлы на другой ПК (с помощью bat-файла). А иногда этого делать не нужно »
потому я не вижу разницы, забудет пользователь скопировать файлы в конце сеанса, или же пользователь забудет щёлкнуть по ярлыку в процессе сеанса: и там, и там — одно и то же слабое звено. Так что, для автоматизации следует начать с определения.
потому я не вижу разницы, забудет пользователь скопировать файлы в конце сеанса, или же пользователь забудет щёлкнуть по ярлыку в процессе сеанса: и там, и там — одно и то же слабое звено. »
На самом деле, нет: Я подхожу, и говорю - сегодня надо скопировать файлы. Пользователь сворачивает свои задачи на рабочем столе, и щёлкает по нужному ярлыку (при мне). Задание добавляется, я ухожу. Пользователь продолжает работать, сколько ему нужно. Уходя выключает комп, и... Все счастливы! :)
Где тут слабое звено?
P.S. Пользователь - в соседней комнате, а я пошёл спать ;). А комп, на котором нужно "процедуры произвесть" - у меня над ухом. Так что процесс автоматизации определён на все 100%. Согласно Бритве Оккама - не надо просто усложнять...
Хорошо, упростим задачу - нужно просто добавить задание (запуск bat-файла) на (перед) выключение компа через Груповую Политику из командной строки.
Как?
Iska,
К счастью, не все так зашорены и упёрты: http://forum.ru-board.com/topic.cgi?forum=5&topic=48565&start=2540#3
Вместо того, чтобы искать "слабое звено", можно просто просто ответить на вопрос :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.