Windowsでサービスを削除するにはどうすればよいですか?


回答:


784

次のようなSCコマンドを使用します(この投稿のコマンドを実行するには、コマンドプロンプトにいる必要があります)。

SC STOP shortservicename
SC DELETE shortservicename

注:管理者としてログインするだけでなく、管理者権限で、コマンドプロンプトを管理者として実行する必要があります。サービスを停止または削除するために必要なアクセス権がないという上記のエラーが発生した場合は、管理者としてコマンドプロンプトを実行してください。これを行うには、スタートメニューでコマンドプロンプトを検索し、右クリックして[管理者として実行]を選択します。PowerShellユーザーへの注意: scはにエイリアスされていset-contentます。そのsc delete serviceため、実際にdeleteはコンテンツで呼び出されるファイルが作成されますservice。Powershellでこれを行うには、sc.exe delete service代わりに使用します


サービスの短いサービス名を見つける必要がある場合は、次のコマンドを使用して、サービスとそのステータスのリストを含むテキストファイルを生成します。

SC QUERY state= all >"C:\Service List.txt"

より簡潔なリストを表示するには、次のコマンドを実行します。

SC QUERY state= all | FIND "_NAME"

短いサービス名は、次のように表示名のすぐ上に表示されます。

SERVICE_NAME: MyService
DISPLAY_NAME: My Special Service

したがって、そのサービスを削除するには:

SC STOP MyService
SC DELETE MyService

5
SSDP Discoveryサービスを削除しますか?ローカルネットワーク上のUPnPデバイスを検出および構成するために使用されます。削除しないでください。例として使用しただけです。
Lasse V. Karlsen、

5
ああ、そうですね。サービスを削除することは推奨されていないという意味だと思いました。答えてくれてありがとう!
sgwill 2008

16
この回答のために、多くのシステム管理者がSSDPSRVサービスを誤って削除してしまったのではないかと思います:p
Vincent Vancalbergh

6
sc query state= allサービスの完全なリストを取得するために使用します。basic sc queryは、非アクティブ(別名:無効)サービスを返しません。
トリカス14

33
PowerShellを使用している場合、scはにエイリアスされset-contentます。そのsc delete serviceため、実際にdeleteはコンテンツで呼び出されるファイルが作成されますservice。Powershellでこれを行うには、sc.exe delete service代わりにを使用します。
KFL、2015年

49

[ スタート]をクリックします。実行とタイプregeditオープンに:行を。OKをクリックします。

案内する HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

左ペインを下にスクロールしてサービス名を見つけ、右クリックして[削除]選択します

システムを再起動します。


1
これは、サービスをホストしている実行可能ファイルが削除された(アンインストールされていない)場合に適切なフォールバックであり、優先sc deleteメカニズムは失敗します。ありがとう。
holtavolt 2018年

17

使用services.mscとか、([スタート]> [コントロールパネル]> [管理ツール]> [サービス])は、当該サービスを検索することができます。ダブルクリックして、サービス名と実行可能ファイルへのパスを表示します。

サービスの所有者についての手掛かりについてexeバージョン情報を確認し、可能であれば、プログラムの追加と削除を使用してクリーンアンインストールを実行します。

失敗する場合は、コマンドプロンプトから:

sc stop servicexyz
sc delete servicexyz

再起動は必要ありません。


2
以下のような-サービスは名にスペースを持っている場合、あなたが引用符にフルネームをラップしていることをしてください。注sc delete "Amazon Assistant Service"
ヤン「splite」K.

13
SC DELETE "service name"

管理者としてcmdでコマンドを実行すると、このエラーが発生します:-

openservice failed 5アクセスが拒否されました


9

私たちは2つの異なる方法でそれを行うことができます

レジストリ経由でWindowsサービスを削除する

正しいパスを知っている場合、レジストリからサービスを削除するのは非常に簡単です。ここに私がそれをした方法があります:

  1. RegeditまたはRegedt32を実行します。

  2. レジストリエントリ「HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Services」に移動します。

  3. 削除するサービスを探して削除します。キーを見て、サービスが使用していたファイルを確認し、それらを削除することもできます(必要な場合)。

コマンドウィンドウからWindowsサービスを削除する

または、コマンドプロンプトを使用し、次のコマンドを使用してサービスを削除することもできます。

sc削除

次のコマンドを使用してサービスを作成することもできます

sc create "MorganTechService" binpath = "C:\ Program Files \ MorganTechSPace \ myservice.exe"

注:Service Managerでリストを更新するには、システムを再起動する必要がある場合があります。


5
regeditメソッドは私にはうまくいきませんでした。サービスマネージャーを更新しても、サービスは表示されましたが、説明を表示できないというエラーが表示されました。
datguy

2
注:Service Managerでリストを更新するには、システムを再起動する必要がある場合があります。
kombsh 14

2
多分、しかしそれは再起動を必要としないSCコマンドよりregeditアプローチを劣らせます。
datguy 14

4
これは私のサービスを台無し:(してくださいいけないmisguideこの愚かgoodle、automacticallyその検索ページにこのANSERを見せつけると、私はそれを信頼できるとSOFのリンクをクリックせずに盲目的に続き、私は私のマシンイメージを再作成する必要がありました。
アナンドRockzz

レジストリメソッドをありがとう。私が反逆者のマシンでそれを行うことができる唯一の方法。
霜降りの素晴らしい2015年

8

Windows Vista以降を使用している場合は、コマンドプロンプトから管理者として実行してください。

sc delete [your service name as shown in service.msc e.g moneytransfer]

例えば: sc delete moneytransfer

フォルダを削除する C:\Program Files\BBRTL\moneytransfer\

moneytransferレジストリキーを見つけて削除します。

 HKEY_CLASSES_ROOT\Installer\Products\
 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\
 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog\
 HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\
 HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\EventLog\
 HKEY_LOCAL_MACHINE\Software\Classes\Installer\Assemblies\ [remove .exe references]
 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Folders

これらの手順は、Windows XP、Windows 7、Windows Vista、Windows Server 2003、およびWindows Server 2008でテストされています。


6

.NETで作成されたサービスの場合、/ uスイッチを指定してinstallutil.exeを使用し、C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727のような.netフレームワークフォルダーに配置できます。


6

上記のように私は実行しました:

sc delete ServiceName

ただし、PowerShellから実行していたため、これは機能しませんでした。

sc.exePowerShellにはをsc割り当てるためのデフォルトのエイリアスがあるため、PowerShellを使用する場合は完全なパスを指定する必要がありますSet-Content。これは有効なコマンドであるため、実際にはエラーメッセージは表示されません。

これを解決するために、次のように実行しました。

C:\Windows\System32\sc.exe delete ServiceName

2

以下は、私に渡されたvbsスクリプトです。

Set servicelist = GetObject("winmgmts:").InstancesOf ("Win32_Service")

for each service in servicelist
    sname = lcase(service.name)
    If sname = "NameOfMyService" Then 
        msgbox(sname)
        service.delete ' the internal name of your service
    end if
next

おそらく、nameofMyServiceではなく、nameofmyserviceです。これは、snameが以前の行ごとにすべて小文字であるためです。
ドミニクジョージ


0

私が作成したサービスは、コントロールパネル>プログラムと機能でアンインストールする必要がありました。


プログラムと機能にインストールされたサービスをどのように確認できるか
Nisha

私が正しく覚えているとしたら、これは、私が持っていたと思われるプログラムがインストールされた後、ローカルでホスティングされていたためにサービスとして実行されたときのことでした。私がそれを取り除くために、私はプログラム全体に行かなければなりませんでした。
Demodave

ありがとうございました。コマンドプロンプトを使用してサービスをインストールしました。cmd pmptのcmdを使用して削除しました。返信いただきありがとうございます。
Nisha 2017年


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.