web-dev-qa-db-ja.com

Windowsでサービスを削除する方法

私は完全にアンインストールしたいという古いサービスをいくつか持っています。これどうやってするの?

389
sgwill

このように、 _ sc _ コマンドを使用します(この記事のコマンドを実行するには、コマンドプロンプトを表示する必要があります)。

SC STOP shortservicename
SC DELETE shortservicename

注: Promptコマンドを管理者として実行する必要があります。管理者としてログインするだけでなく、管理者権限も使用します。サービスを停止または削除するために必要なアクセス権がないという上記のエラーが表示された場合は、コマンドプロンプトを管理者として実行してください。これを行うには、スタートメニューの[コマンドプロンプト]を検索し、右クリックして[管理者として実行]を選択します。 PowerShellユーザーへの注意事項: scset-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

開始 |をクリックします。 Runを開き、Open:行にregeditと入力します。 OKをクリックしてください。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servicesに移動します

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

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

43
Mark Schill

問題のサービスを見つけるには、 services.msc または([スタート] - [コントロールパネル] - [管理ツール] - [サービス])を使用します。ダブルクリックして、サービス名と実行可能ファイルへのパスを確認します。

Exeファイルのバージョン情報を調べて、サービスの所有者に関する手がかりを見つけ、可能であれば[プログラムの追加と削除]を使用してクリーンアンインストールを実行します。

それに失敗した場合、コマンドPromptから:

sc stop servicexyz
sc delete servicexyz

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

15
asquithea
SC DELETE "service name"

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

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

12

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でテストされています。

8
user2145033

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

レジストリからWindowsサービスを削除する

正しいパスを知っていれば、レジストリからサービスを削除するのはとても簡単です。これが私のやり方です。

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

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

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

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

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

sc削除

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

sc "MorganTechService" binpath = "C:¥Program Files¥MorganTechSPace¥myservice.exe"を作成します。

注:サービスマネージャでリストを更新するには、システムを再起動する必要があります。

8
kombsh

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

sc delete ServiceName

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

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

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

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

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

5
CPU_BUSY

これが私に渡された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
2
Lucas

sc名前を削除

1
Mariano

サービスを削除する前に、依存関係を確認する必要があります。

あなたはそれをチェックすることができます:

services.mscを開いてサービス名を探し、[依存関係]タブに切り替えます。

出典: http://www.sysadmit.com/2016/03/windows-eliminar-un-servicio.html

0
Dilmasegure

私が作成した私のサービスは、コントロールパネル>プログラムと機能でアンインストールしなければなりませんでした。

0
Demodave