无法更改 Windows 服务属性:错误 87:参数不正确

无法更改 Windows 服务属性:错误 87:参数不正确

我正在尝试从控制面板 > 管理工具 > 服务管理单元禁用 Windows 10 中的服务。

  • 服务名称:OneSyncSvc_1e21e
  • 显示名称:同步主机_1e21e
  • 描述:此服务同步邮件、联系人、日历和其他各种用户数据。当此服务未运行时,邮件和其他依赖此功能的应用程序将无法正常工作。
  • 可执行文件的路径:C:\WINDOWS\system32\svchost.exe -k UnistackSvcGroup
  • 启动类型:自动(延迟启动)

当我尝试将启动类型更改为手动的或者已禁用然后按“确定”,我收到以下消息:

参数不正确。

当我尝试将启动类型更改为自动的然后按“确定”,我收到以下消息:

无法重置延迟自动启动标志。

错误87:参数不正确。

当我尝试将“以...身份登录”用户更改为没有任何权限的用户时,收到此消息:

参数不正确。

我在网上和 Stack Exchange 网络中进行了一些搜索,但错误消息很常见,我找到的文章似乎适用于尝试通过代码安装服务和/或依赖项。我只是使用基本的 Windows GUI。

有什么方法可以纠正这个错误,禁用这个服务,或者完全删除它?

答案1

当我尝试禁用MessagingService_48ab2时偶然发现了同样的问题。

解决方案是在注册表中查找该服务。

按下键盘上的开始按钮,输入 regedit,右键单击它并以管理员身份打开。

然后导航至:
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OneSyncSvc_48ab2

双击“开始“ 32 位 DWORD 并将其值更改为4(已禁用)。

答案2

askepott 的答案是唯一正确的答案。

其他答案没有考虑到原始问题的关键部分“参数不正确”:PowerShell 只是一个愚蠢的 shell,它将命令中继到首先使 OP 失败的同一服务组件:

> Get-Service -Name "ServiceName"" | Set-Service -StartupType Disabled -Confirm:$false
Set-Service : Service 'ServiceName (ServiceName)' cannot be configured due to the following error: The parameter
is incorrect
At line:1 char: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

编辑注册表似乎是解决此类服务故障的唯一方法。我不知道这个问题的原因,但就我而言,该服务似乎配置为以“以...身份登录”运行,提供用户密码但用户名为空。将其更改为本地系统也不起作用,因为“参数不正确”在任何修改后都会持续存在。

答案3

您还可以使用 powershell 禁用该服务(或任何其他 PITA 服务)

以管理员身份启动 powershell (以管理员身份运行),然后

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

答案4

这些是每个用户的服务,在用户登录时创建,在用户注销时删除。出于安全原因将事物分开。如果禁用模板服务,则每个用户的服务将在相同状态下创建。如果我理解正确的话。取自这个网站。https://docs.microsoft.com/en-us/windows/application-management/per-user-services-in-windows

相关内容