サーバー上でWindowsサービスを実行しています(可能であれば再起動したくない)。
このサービスのEXEは(リカバリを超えて)なくなり、コピーがありません(それ以降更新されたデバッグバージョンでした)。
それを実行したexeファイルなしでサービスリストからこのサービスを削除する方法はありますか?
やってみました sc <server> delete [service name]
コマンドラインから?
より包括的な答えを見つけることができます ここ 。
試してください:
sc delete servicename
Sc delete servicenameは機能しますが、servicenameは「KeyName」であることに注意してください。
例えば。 Confluenceの場合、サービスのリストに「AtlassianConfluence」が表示されます。これは「説明的な」名前です。削除するには、次のように入力します。
sc GetKeyName "Atlassian Confluence"
私の場合、これはConfluence150114140910を返しました。だから私はそれからタイプした:
sc delete Confluence150114140910
autoruns tool (以前はsysinternalsによって、現在はMicrosoftサイトにあります)を使用すると、サービスとドライバー(レジストリ内のレコード)を管理できます。
レジスターも使用できます
これはうまく機能します(admin cmdが必要です)
C:\Windows\system32>sc GetKeyName "SERVER"
[SC] GetServiceKeyName Êxito
Nome = SERVER
C:\Windows\system32>sc delete "SERVER"
[SC] DeleteService Êxito
C:\Windows\system32>sc delete "SERVER 2"
[SC] DeleteService Êxito