Невозможно изменить свойства службы Windows: Ошибка 87: Неверный параметр

Вопрос или проблема

Я пытаюсь отключить службу в Windows 10 через Панель управления > Административные инструменты > Оснастка служб.

  • Имя службы: OneSyncSvc_1e21e
  • Отображаемое имя: Sync Host_1e21e
  • Описание: Эта служба синхронизирует электронную почту, контакты, календарь и различные другие пользовательские данные. Почта и другие приложения, зависящие от этой функции, не будут работать должным образом, если эта служба не запущена.
  • Путь к исполняемому файлу: C:\WINDOWS\system32\svchost.exe -k UnistackSvcGroup
  • Тип запуска: Автоматически (отложенный запуск)

Когда я пытаюсь изменить тип запуска на Ручной или Отключен и нажимаю OK, я получаю следующее сообщение:

Параметр неверный.

Когда я пытаюсь изменить тип запуска на Автоматически и нажимаю OK, я получаю следующее сообщение:

Флаг отложенного автозапуска не может быть сброшен.

Ошибка 87: Параметр неверный.

Когда я пытаюсь изменить пользователя для параметра ‘Вход под’ на пользователя без привилегий, я получаю следующее сообщение:

Параметр неверный.

Я уже искал информацию в Интернете и в сети Stack Exchange, но сообщение об ошибке довольно распространено, и найденные мною статьи, похоже, относятся к попыткам установить службы и/или зависимости через код. Я просто использую стандартный интерфейс Windows.

Есть ли способ исправить эту ошибку, отключить эту службу или удалить её полностью?

Я столкнулся с такой же проблемой, когда пытался отключить MessagingService_48ab2.

Решение состояло в том, чтобы найти службу в реестре.

Нажмите кнопку “пуск” на клавиатуре, введите regedit, щелкните правой кнопкой мыши и выберите “Запуск от имени администратора”.

Затем перейдите по пути:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OneSyncSvc_48ab2

Дважды щелкните по значению “Start” 32-битного DWORD и измените его значение на 4 (отключено).

Ответ askepott является единственно правильным.

Другие ответы не учитывают важную часть “Параметр неверный” из оригинального вопроса: PowerShell — это просто тупая оболочка, которая передает команду тому же компоненту службы, который и вызывает сбой у оригинального вопроса:

> Get-Service -Name "ServiceName"" | Set-Service -StartupType Disabled -Confirm:$false
Set-Service : Службу 'ServiceName (ServiceName)' не удается настроить из-за следующей ошибки: Параметр
неверный
На строке:1 символ:35
+ ... ame ServiceName | Set-Service -StartupType Disabled -Confirm:$false
+                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (System.ServiceProcess.ServiceController:ServiceController) [Set-Servi
   ce], ServiceCommandException
    + FullyQualifiedErrorId : CouldNotSetService,Microsoft.PowerShell.Commands.SetServiceCommand

Редактирование реестра, похоже, является единственным решением для поврежденных служб, подобных этой. Я не знаю причины этой проблемы, но в моем случае служба, похоже, была настроена на запуск с ‘Вход под’, с предоставленным паролем пользователя, но без имени пользователя. Изменение на Локальную систему тоже бы не помогло, поскольку “Параметр неверный” сохранялся при любых изменениях.

Вы также можете использовать PowerShell для отключения службы (или любой другой службы, создающей проблемы).

Запустите PowerShell от имени администратора (Запуск от имени администратора), а затем

Get-Service -Name OneSyncSvc | Set-Service -StartupType Disabled -Confirm:$false

Этот тип службы, по-видимому, называется “службой для пользователя”, которая создается из “шаблонной” службы, видимой в этом реестре по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services, согласно https://docs.microsoft.com/en-us/windows/application-management/per-user-services-in-windows.

Чтобы одновременно изменить как службы для пользователя, так и шаблонные службы, самым простым методом, похоже, является команда PowerShell Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OneSyncSvc*" -Name "Start" -Value 4 (проверено в PowerShell 5.1/7.1), где 4 соответствует значению “Отключено” в приложении Службы (services.msc). (2 соответствует значению “Автоматически (отложенный запуск)”).

Шаблонную службу также можно изменить с помощью команды PowerShell Get-Service -Name OneSyncSvc | Set-Service -StartupType "Disabled" и отменить в PowerShell 7+ с помощью команды Get-Service -Name OneSyncSvc | Set-Service -StartupType "AutomaticDelayedStart".

Вам может иметь смысл сначала записать значения по умолчанию, чтобы любые изменения могли быть отменены впоследствии с помощью команды Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OneSyncSvc*" | Select-Object "Start".

Это также можно сделать с помощью команд PowerShell Get-Service -Name OneSyncSvc | Select-Object "Name", "StartupType"; Get-Service -Name OneSyncSvc* | Select-Object "Name", "StartupType".

Это службы для пользователя, которые создаются при входе пользователя в систему и удаляются при выходе пользователя. Они помогают разделить данные по соображениям безопасности. Если вы отключите шаблонную службу, то служба для пользователя будет создана в том же состоянии. Если я правильно понял, это так. Взято с этого сайта: https://docs.microsoft.com/en-us/windows/application-management/per-user-services-in-windows.

Ответ или решение

Ошибка "Параметр неправильный" (Error 87) при попытке изменить свойства службы Windows, такой как OneSyncSvc_1e21e, может возникнуть по нескольким причинам. Эта проблема часто связана с неправильной конфигурацией службы в реестре Windows или с попытками управлять "службами персоны", которые ведут себя иначе, чем обычные службы.

Причины возникновения ошибки

  1. Неправильные параметры реестра: Службы могут быть неправильно настроены в реестре Windows. Например, если у службы задано значение пустого имени пользователя для параметра "Войти как", это может вызывать ошибку.

  2. Персонализированные службы: OneSyncSvc является службой персоны, которая создаётся для синхронизации пользовательских данных. Несмотря на то, что она может отображаться в обычных службах, её конфигурация управляется через связанные шаблоны в реестре.

  3. Ошибки в GUI: Иногда интерфейс управления службами Windows может неправильно взаимодействовать с определёнными службами из-за ошибок или неполадок в системе.

Решения проблемы

  1. Редактирование реестра:
    Чтобы исправить ошибку, попробуйте изменить значение службы в реестре Windows.

    • Нажмите Win + R, введите regedit и нажмите Enter.
    • Перейдите по следующему пути:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OneSyncSvc_1e21e
    • Найдите параметр Start и установите для него значение 4 (что соответствует статуса "Отключено"). Для этого дважды щелкните по параметру и измените его значение.
    • Обратите внимание, что для услуг, имеющих тип "Задержанный автоматический запуск", вам может потребоваться также изменить соответствующий параметр.
  2. Использование PowerShell:
    Если вы предпочитаете работать с командной строкой, PowerShell может быть удобным инструментом для управления службами.

    Запустите PowerShell от имени администратора и выполните следующую команду, чтобы отключить службу:

    Set-Service -Name OneSyncSvc_1e21e -StartupType Disabled

    Если возникнет ошибка, используйте команду для работы с реестром:

    Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OneSyncSvc_1e21e" -Name "Start" -Value 4
  3. Анализ конфигурации:
    Проверьте конфигурацию параметра "Войти как". Если у вас уже есть некорректные значения, это может привести к невозможности изменить состояние службы. Параметры по умолчанию обычно должны быть:

    • LocalSystem — если это служба, которая может управляться на уровне системы.
    • Если вы хотите использовать отдельного пользователя, убедитесь, что его имя и пароль указаны корректно.

Заключение

Ошибка “Error 87: The parameter is incorrect” может быть результатом неправильной настройки в реестре или интерфейсе управления службами. Попробуйте изменить настройки прямо в реестре, либо используйте PowerShell для управления службой. Всегда делайте резервные копии реестра перед внесением изменений и следите за тем, чтобы не повредить ключи, которые могут повлиять на другие службы или компоненты системы.

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

Капча загружается...