Подтвердить что ты не робот

Выполнение пакета script при завершении работы Windows

Есть ли способ, в Windows 7 Professional, запустить пакетный script (например, файл .BAT), когда пользователь нажимает "shutdown" (а не пакетный файл, запланированный для закрытия машины, только один выполняется только в том случае, если пользователь нажимает "shutdown" )?

В идеале такой script отобразит окно командной строки и предложит отменить процедуру выключения.

Решения, не требующие сторонней утилиты, были бы предпочтительнее.

4b9b3361

Ответ 1

В Windows можно создать политику локального компьютера. См. TechNet по адресу http://technet.microsoft.com/en-us/magazine/dd630947

  • Запустите gpedit.msc, чтобы открыть редактор групповой политики,
  • Перейдите к Конфигурация компьютера | Настройки Windows | Скрипты (запуск/завершение работы).

enter image description here

Ответ 2

Ну, это простой способ сделать некоторые изменения в реестре: я пробовал это на серверах 2008 r2 и 2016.

Что нужно сделать:

  1. Создайте текстовый файл "regedit.txt"
  2. Вставьте в него следующий код:
Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Shutdown] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Shutdown]     

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Shutdown\0]  
"GPO-ID"="LocalGPO"    
"SOM-ID"="Local"    
"FileSysPath"="C:\\Windows\\System32\\GroupPolicy\\Machine"    
"DisplayName"="Local Group Policy"    
"GPOName"="Local Group Policy"    

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Shutdown\0\0]    
"Script"="terminate_script.bat"    
"Parameters"=""    
"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\Scripts\Shutdown\0]
"GPO-ID"="LocalGPO"    
"SOM-ID"="Local"    
"FileSysPath"="C:\\Windows\\System32\\GroupPolicy\\Machine"    
"DisplayName"="Local Group Policy"    
"GPOName"="Local Group Policy"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Shutdown\0\0]    
"Script"="terminate_script.bat"    
"Parameters"=""
"IsPowershell"=dword:00000000
"ExecTime"=hex(b):00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  1. Сохраните этот файл как regedit.reg с расширением

  2. Запустите его в любой командной строке, используя следующую команду:

    regedit.exe /s regedit.reg
    

Ответ 3

Создайте собственное закрытие script - под названием Myshutdown.bat - и сделайте все, что вы собираетесь делать в script, а затем в конце его выключения /a. Затем выполните ваш bat файл вместо обычного выключения.

(см. http://www.w7forums.com/threads/run-batch-file-on-shutdown.11860/ для получения дополнительной информации.)

Ответ 4

Я нашел эту тему при поиске сценария запуска для запуска и завершения работы Windows 10. Ответы выше не работали. У меня на windows 10 работало, когда я ставил скрипты в планировщик задач. Как это сделать: нажмите клавишу окна и напишите планировщик заданий, откройте его, затем справа находится кнопка "Добавить задание...". Здесь вы можете добавить сценарии. PS: Я нашел действие для запуска и выхода пользователя, там не для выключения.

Ответ 5

Чтобы вышеприведенный код функционировал; Вы должны убедиться, что следующие каталоги существуют (мои нет). Просто добавьте следующее к летучей мыши и запустите ее:

mkdir C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup
mkdir C:\Windows\System32\GroupPolicy\Machine\Scripts\Shutdown
mkdir C:\Windows\System32\GroupPolicy\User\Scripts\Startup
mkdir C:\Windows\System32\GroupPolicy\User\Scripts\Shutdown

Просто ГП нужны эти каталоги для:

Group Policy\Local Computer Policy\Windows Settings\Scripts (Startup/Shutdown)

для правильной работы.