Windows Восстановление значений запуска системных служб по умолчанию.

Buyan

Новый пользователь
Сообщения
2
Реакции
4
Тоже давно использую скрипт для извлечения состояния служб и их конфигурации.
Скрипт изначально был написан еще под Windows 7, но позже был переделан под Windows 10 и тестировался только на Windows 10 Pro.

Имеет интерактивную часть. Умеет извлекать состояния запуска служб из системы, сохраняя в текстовый файл-список в папке скрипта.
Также умеет применять к системе выбранную интерактивно конфигурацию из соответствующего файла из папки скрипта.

Каждая строка данного файла относится к конкретной службе.
Строки состоят из подстрок разделенных пробелами, где первая подстрока - имя службы(заключено в кавычки), вторая - состояние запуска, все остальные - комментарий (необязательная).
В целом на строку распространяются правила командной строки, так как по сути это и есть набор параметров командной строки.
Строки, первым символом в которых стоит пробел или # пропускаются, поэтому могут быть использованы для комментариев.
Вторая подстрока может принимать такие значения: boot, system, auto, delayed-auto, demand, disabled, delete.
(delete - удалит сервис из системы)

Переменная "TypeThreshold" отвечает за порог, службы имеющие тип ниже которого не обрабатываются во время извлечения конфигурации.
По умолчанию значение установлено "2", исключая таким образом из обработки драйвера.
0x1 - KERNEL_DRIVER
0x2 - FILE_SYSTEM_DRIVER
0x10 - WIN32_OWN_PROCESS
0x20 - WIN32_SHARE_PROCESS
0x110 - WIN32_OWN_PROCESS (interactive)
0x60 - USER_SHARE_PROCESS TEMPLATE
0xe0 - USER_SHARE_PROCESS INSTANCE
 

Вложения

  • SC_Config_Win10.rar
    5.3 KB · Просмотры: 4
Последнее редактирование:

Buyan

Новый пользователь
Сообщения
2
Реакции
4
Тоже давно использую скрипт для извлечения состояния служб и их конфигурации.
Сделал несколько мелких исправлений, переименовал скрипт.
Дополню немного описание логики работы скрипта.
В видновс 10 (а может и раньше) в именах (идентефикаторах) служб появились маски имен для некоторых служб, что значительно усложняет задачу переноса настроек между системами и прочей автоматизации.
Да что там между системами, даже на одном компе такая маска может изменяться между обновлениями.
Данный скрипт при сохранении конфигурации пропускает все сервисы имеющие тип 0x60 (USER_SHARE_PROCESS TEMPLATE), а для сервисов типа 0xe0 (USER_SHARE_PROCESS INSTANCE) сохраняет конфигурацию, но с именем без маски.
При восстановлении конфига задействуется обратный механизм. Если имя указанное в конфигурационном файле соответствует шаблону сервиса в системе (USER_SHARE_PROCESS TEMPLATE), то параметры также применяются и к его "двойнику" (USER_SHARE_PROCESS INSTANCE) имя которого имеет маску по обыкновению.
Скрипт не предпринимает никаких действий относительно записей в конфигурационном файле, соответственно которым, установленных сервисов в системе не обнаружится.
Также добавлю конфигурационный файл состояний служб по умолчанию. Конфиг сделан на основании ранее публиковавшегося здесь файла "export_Win10.19041x64.reg" в сообщении:
Создал скрипт извлечения состояния запуска служб и частично драйверов из активной системы в твик
так как я сам переходил на 10-ку с 7-мой, где все было совсем не по дефолту.
 

Вложения

  • SC_Config_Win10_beta.rar
    14.6 KB · Просмотры: 1
Сверху Снизу