web-dev-qa-db-ja.com

Windowsサービスのプロパティを変更できません:エラー87:パラメータが正しくありません

コントロールパネル>管理ツール>サービススナップインからWindows 10のサービスを無効にしようとしています。

  • サービス名:OneSyncSvc_1e21e
  • 表示名:Sync Host_1e21e
  • 説明:このサービスは、メール、連絡先、カレンダー、その他のさまざまなユーザーデータを同期します。このサービスが実行されていない場合、この機能に依存するメールやその他のアプリケーションは正しく機能しません。
  • 実行可能ファイルへのパス:C:\ WINDOWS\system32\svchost.exe -k UnistackSvcGroup
  • スタートアップの種類:自動(遅延開始)

スタートアップの種類をManualまたはDisabledに変更して[OK]を押すと、次のメッセージが表示されます。

パラメータが正しくありません。

スタートアップの種類をAutomaticに変更して[OK]を押すと、次のメッセージが表示されます。

遅延自動開始フラグをリセットできませんでした。

エラー87:パラメータが正しくありません。

「ログオン」ユーザーを権限のないユーザーに変更しようとすると、次のメッセージが表示されます。

パラメータが正しくありません。

オンラインおよびスタック交換ネットワーク内でいくつかの検索を実行しましたが、エラーメッセージはかなり一般的なものであり、見つけた記事は、コードを介してサービスや依存関係をインストールしようとした場合に当てはまるようです。基本的なWindows GUIを使用しています。

このエラーを修正したり、このサービスを無効にしたり、完全に削除したりする方法はありますか?

8
Jonathan

MessagingService_48ab2を無効にしようとしたときに、同じ問題に遭遇しました。

それに対する解決策は、レジストリでサービスを探すことでした。

キーボードのスタートボタンを押し、regeditと入力して右クリックし、管理者として開きます。

次に移動します:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OneSyncSvc_48ab2

"Start" 32-bit DWORDをダブルクリックし、その値を4(無効)に変更します。

7
askepott

Askepottによる回答が唯一正しいです。

他の回答では、元の質問の重要な「パラメーターが正しくありません」の部分は考慮されていません。PowerShellは、最初の場所で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

レジストリの編集は、このような失敗したサービスの唯一の解決策のようです。この問題の原因はわかりませんが、私の場合、サービスは「ログオン」で実行するように設定されているようで、ユーザーパスワードは指定されていますが、ユーザー名は空です。それをローカルシステムに変更しても、「パラメーターが正しくありません」という変更が残っているため、機能しません。

2
Bouvrie

Powershellを使用してサービス(またはその他のPITAサービス)を無効にすることもできます

管理者としてPowerShellを起動し(管理者として実行)、次に

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