Перейти к содержанию

Резервное копирование конфигурации типа запуска служб Windows 10

После новой установки Windows 10 отключение неиспользуемых служб Windows — одна из выполняемых вами задач, требующих много времени. После настройки вы можете создать резервную копию состояния запуска службы с помощью сценария, чтобы его можно было использовать для последующих установок или если вам нужно автоматизировать задачу на нескольких компьютерах.if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-medrectangle-3-0′)};if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-box-3-0’)};

Резервное копирование состояния служб также может помочь при устранении неполадок служб Windows и необходимости быстрого отката внесенных изменений.

СВЯЗАННЫЕ: удаление службы в Windows с помощью командной строки, Regedit или автозапуска

Конфигурация служб резервного копирования (тип запуска) в Windows

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

'Файл: services_startup_config_backup.vbs Описание: этот сценарий выполняет резервное копирование конфигурации запуска служб Windows в файл REG. 'Для Windows 10, Windows Server 2016 © 2016-2021 Рамеш Сринивасан Веб-сайт: https://www.winhelponline.com/blog/ Доработана: 7 июля 2019 г.
Вариант Явный Если WScript.Arguments.length = 0 Тогда Dim objShell: Установите objShell = CreateObject ("Shell.Application") objShell.ShellExecute «wscript.exe», Chr (34) & _ WScript.ScriptFullName & Chr (34) & "uac", "", "runas", 1 Еще Тусклый WshShell, objFSO, strNow, intServiceType, intStartupType, strDisplayName, iSvcCnt Dim sREGFile, sBATFile, r, b, strComputer, objWMIService, colListOfServices, objService Установите WshShell = CreateObject ("Wscript.Shell") Установите objFSO = Wscript.CreateObject ("Scripting.FilesystemObject")
strNow = Год (Дата) и Справа («0» и Месяц (Дата), 2) и Справа («0» и День (Дата), 2)
Dim objFile: установите objFile = objFSO.GetFile (WScript.ScriptFullName) sREGFile = objFSO.GetParentFolderName (objFile) & "\ svc_curr_state_" & strNow & ".reg" sBATFile = objFSO.GetParentFolderName (objFile) & "\ svc_curr_state_" & strNow & ".bat"
Установите r = objFSO.CreateTextFile (sREGFile, True) r.WriteLine "Редактор реестра Windows версии 5.00" r.WriteBlankLines 1 r.WriteLine "; Резервное копирование конфигурации запуска служб" и сейчас r.WriteBlankLines 1
Установите b = objFSO.CreateTextFile (sBATFile, True) b.WriteLine «Состояние запуска службы @echo Restore сохранено в» и сейчас б. WriteBlankLines 1
strComputer = "." iSvcCnt = 0 Тусклый sStartState, sSvcName, sSkippedSvc
Установите objWMIService = GetObject ("winmgmts:" _ & "{impersonationLevel = impersonate}! \" & strComputer & "\ root \ cimv2")
Установите colListOfServices = objWMIService.ExecQuery _ («Выбрать * из Win32_Service»)
Для каждого objService в colListOfServices iSvcCnt = iSvcCnt + 1 r.WriteLine "[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \" и обрезать (objService.Name) & "]" sStartState = lcase (objService.StartMode) sSvcName = objService.Name Выберите Case sStartState Чехол "сапог"
r.WriteLine chr (34) & "Start" & Chr (34) & "= dword: 00000000" b.WriteLine "sc.exe config" & sSvcName & "start = boot"
Кейс "система" r.WriteLine chr (34) & "Start" & Chr (34) & "= dword: 00000001" b.WriteLine "sc.exe config" & sSvcName & "start = system"
Кейс "авто" 'Убедитесь, что это автоматический (отложенный старт) r.WriteLine chr (34) & "Start" & Chr (34) & "= dword: 00000002" Если objService.DelayedAutoStart = True, то r.WriteLine chr (34) & "DelayedAutostart" & Chr (34) & "= dword: 00000001" b.WriteLine "sc.exe config" & sSvcName & "start = delayed-auto" Еще r.WriteLine chr (34) & "DelayedAutostart" & Chr (34) & "= -" b.WriteLine "sc.exe config" & sSvcName & "start = auto" Конец, если
Кейс "инструкция"
r.WriteLine chr (34) & "Start" & Chr (34) & "= dword: 00000003" b.WriteLine "sc.exe config" & sSvcName & "start = require"
Случай "отключен"
r.WriteLine chr (34) & "Start" & Chr (34) & "= dword: 00000004" b.WriteLine "sc.exe config" & sSvcName & "start = disabled"
Случай "неизвестно" sSkippedSvc = sSkippedSvc & "," & sSvcName 'Case Else Конец Выбрать r.WriteBlankLines 1 Следующий
Если обрезать (sSkippedSvc) <> "" Тогда WScript.Echo iSvcCnt & "Службы найдены. Службы" & sSkippedSvc & "не могут быть скопированы." Еще WScript.Echo iSvcCnt & «Службы найдены, и их конфигурация запуска сохранена». Конец, если
r.Закрыть b.WriteLine «@pause» б. закрыть WshShell. Запустите notepad.exe и sREGFile. WshShell. Запустите notepad.exe и sBATFile. Установите objFSO = Nothing Установите WshShell = Nothing Конец, если

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-box-4-0’)};

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-medrectangle-4-0’)};

Как использовать VBScript?

  1. Скопируйте приведенные выше строки кода в Блокнот.
  2. Сохраните файл с расширением .vbs, например, services_startup_config_backup.vbs.
  3. Дважды щелкните, чтобы запустить сценарий.

Сценарий перезапускается как администратор (с повышенными правами) и запрашивает список служб Windows и их конфигурацию типа запуска. Результаты записываются в .reg а также .летучая мышь файлы для последующего восстановления. Два файла создаются в той же папке, что и сценарий.

Выходные файлы будут иметь префикс svc_curr_state_, за которым следует текущая дата в формате ггггммдд — например, svc_curr_state_20190706.reg & svc_curr_state_20190706.bat

резервное копирование и восстановление конфигурации типа запуска служб Windows

Примечание. Сценарий также принимает во внимание, настроена ли служба для отложенного запуска или нет. Для служб с автоматическим (отложенным запуском) типом запуска дополнительный параметр реестра с именем DelayedAutoStart используется. Если для параметра DelayedAutoStart установлено значение 1, а для значения запуска установлено значение 2 (автоматический), тогда служба будет настроена как автоматический (отложенный запуск). И командный файл будет иметь с задержкой авто в качестве режима запуска для этих служб.

СВЯЗАННЫЕ: Как полностью сделать резервную копию реестра автоматически в Windows 10

Восстановление конфигурации типа запуска служб

Чтобы восстановить конфигурацию типа запуска служб из резервной копии, выберите один из двух форматов.if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-large-leaderboard-2-0’)};

.reg файл

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-banner-1-0’)};Если вы используете файл .reg для восстановления настроек запуска службы, вам потребуется перезапустить Windows после применения файла .reg для обновления конфигурации служб. Однако это предпочтительный метод.

.bat файл

Пакетный файл содержит команды SC, которые изменяют конфигурацию запуска служб в режиме реального времени. При использовании этого метода перезапуск не требуется. Убедитесь, что вы запускаете пакетный файл из окна командной строки администратора.

резервное копирование и восстановление конфигурации типа запуска служб WindowsСВЯЗАННЫЕ: Конфигурация служб Windows 10 по умолчанию

Дополнительные замечания

  1. Для некоторых служб вы можете столкнуться с ошибками, например [SC] ChangeServiceConfig FAILED 5: или аналогичными. Это связано с разрешениями службы или дескрипторами безопасности, которые блокируют службы. В этом случае вы можете запустить окно командной строки под учетной записью LOCALSYSTEM и запустить пакетный файл.
  2. В Windows 10 вы можете увидеть множество имен служб с подчеркиванием (_), а затем несколько цифр. Эти числа (суффикс) могут не совпадать с номерами других компьютеров с Windows 10. Вот некоторые примеры:
    • AarSvc_8561415
    • BcastDVRUserService_8561415
    • BluetoothUserService_8561415
    • CaptureService_8561415
    • cbdhsvc_8561415
    • CDPUserSvc_8561415
    • ConsentUxUserSvc_8561415
    • CredentialEnrollmentManagerUserSvc_8561415
    • DeviceAssociationBrokerSvc_8561415
    • DevicePickerUserSvc_8561415
    • DevicesFlowUserSvc_8561415
    • LxssManagerUser_8561415
    • MessagingService_8561415
    • OneSyncSvc_8561415
    • PimIndexMain maintenanceSvc_8561415
    • PrintWorkflowUserSvc_8561415
    • UnistoreSvc_8561415
    • UserDataSvc_8561415
    • WpnUserService_8561415

    Суффикс чисел 8561415 в приведенных выше службах (короткие) имена могут не совпадать на других компьютерах с Windows 10. Это одна вещь, на которую нужно обратить внимание при восстановлении настроек на другом компьютере с Windows 10. Кроме того, восстановление этих служб с помощью команды SC.exe может вызвать ошибку ChangeServiceConfig FAILED 87: параметр неверен.

Для более старых версий Windows

Для версий Windows до Windows 10 (от Windows Vista до Windows 8.1) используйте скрипт services_conf_backup.zip. Обратите внимание, что старый скрипт не поддерживает автоматический запуск (отложенный запуск) из-за ограничений WMI. Он рассматривает автоматический и автоматический (отложенный старт) как одно и то же.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *