Windows'ta bir hizmeti nasıl silebilirim?


Yanıtlar:


783

Bunun gibi SC komutunu kullanın (bu yazıdaki komutları yürütmek için bir komut isteminde olmanız gerekir):

SC STOP shortservicename
SC DELETE shortservicename

Not: Komut istemini yalnızca yönetici olarak değil, aynı zamanda yönetici haklarıyla da yönetici olarak çalıştırmanız gerekir. Hizmeti durdurmak ve / veya silmek için gerekli erişim haklarına sahip olmamanızla ilgili hatalar alırsanız, komut istemini yönetici olarak çalıştırın. Bunu, başlangıç ​​menünüzdeki komut istemini arayarak ve sağ tıklayıp "Yönetici olarak çalıştır" ı seçerek yapabilirsiniz. PowerShell kullanıcıları için not: diğer sc addır set-content. Yani sc delete serviceaslında deleteiçerik ile adlandırılan bir dosya oluşturur service. Bunu Powershell'de yapmak için sc.exe delete servicebunun yerine


Bir hizmetin kısa hizmet adını bulmanız gerekirse, hizmetlerin listesini ve durumlarını içeren bir metin dosyası oluşturmak için aşağıdaki komutu kullanın:

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

Daha özlü bir liste için şu komutu yürütün:

SC QUERY state= all | FIND "_NAME"

Kısa hizmet adı, görünen adın hemen üzerinde listelenir, şöyle:

SERVICE_NAME: MyService
DISPLAY_NAME: My Special Service

Ve böylece bu hizmeti silmek için:

SC STOP MyService
SC DELETE MyService

5
SSDP Keşif Hizmetini silme? Yerel ağdaki UPnP cihazlarını tespit etmek ve yapılandırmak için kullanılır, silmemelisiniz. Sadece örnek olarak kullanıldı.
Lasse V. Karlsen

5
Oooh, anlıyorum, evet. Hizmetlerin silinmesinin tavsiye edilmediğini düşündüm. Cevap için teşekkürler!
sgwill

16
Kaç tane sistem yöneticisinin SSDPSRV hizmetini tamamen bu cevaptan dolayı yanlışlıkla sildiğini merak ediyorum: p
Vincent Vancalbergh

6
sc query state= allHizmetlerin tam listesini almak için kullanın ; basic sc query, devre dışı (diğer adıyla devre dışı) hizmetleri döndürmez.
tricasse

32
PowerShell kullanıyorsanız sc, takma adın olduğunu unutmayın set-content. Yani sc delete serviceaslında deleteiçerik ile adlandırılan bir dosya oluşturur service. Bunu Powershell'de yapmak için sc.exe delete servicekullanın.
KFL

48

Click Başlat | Çalıştırın ve regeditOpen: satırına yazın. Tamam'ı tıklayın.

Şu yöne rotayı ayarla HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Sol bölmeyi aşağı kaydırın, servis adını bulun, sağ tıklayın ve Sil'i seçin .

Sistemi yeniden başlatın.


1
Hizmeti barındıran yürütülebilir dosya silindiğinde (kaldırılmadığında) ve tercih edilen sc deletemekanizma başarısız olduğunda bu iyi bir geri dönüştür . Teşekkürler.
holtavolt

17

Kullanım services.msc ya da (Başlat> Denetim Masası> Yönetimsel Araçlar> Hizmetler) söz konusu hizmeti bulmak. Hizmet adını ve yürütülebilir dosyanın yolunu görmek için çift tıklayın.

Hizmet sahibine ilişkin ipucu için exe sürüm bilgilerini kontrol edin ve mümkünse temiz bir kaldırma işlemi yapmak için Program Ekle / Kaldır'ı kullanın.

Başarısız olursa, komut isteminden:

sc stop servicexyz
sc delete servicexyz

Yeniden başlatma gerekmez.


2
Hizmetin adında boşluklar varsa, tam adı tırnak işaretleri içine almanız gerekirsc delete "Amazon Assistant Service"
Jan 'splite' K gibi

13
SC DELETE "service name"

Cmd komutunu Yönetici olarak çalıştırın, aksi takdirde bu hatayı alırsınız: -

openservice başarısız 5 erişim reddedildi


9

Bunu iki farklı şekilde yapabiliriz

Windows Hizmetini Kayıt Defteri aracılığıyla kaldırma

Doğru yolu biliyorsanız, kayıt defterinden bir hizmeti kaldırmak çok kolaydır. İşte bunu nasıl yaptım:

  1. Regedit veya Regedt32'yi çalıştırın

  2. "HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Services" kayıt defteri girdisine gidin.

  3. Silmek istediğiniz hizmeti bulun ve silin. Hizmetin hangi dosyaları kullandığını öğrenmek için anahtarlara bakabilir ve bunları da silebilirsiniz (gerekirse).

Windows Hizmeti'ni Komut Penceresi'nden Silme

Alternatif olarak, komut istemini kullanabilir ve aşağıdaki komutu kullanarak bir hizmeti silebilirsiniz:

sc sil

Aşağıdaki komutu kullanarak da hizmet oluşturabilirsiniz

sc "MorganTechService" oluştur binpath = "C: \ Program Files \ MorganTechSPace \ myservice.exe"

Not: Listenin servis yöneticisinde güncellenmesi için sistemi yeniden başlatmanız gerekebilir.


5
Regedit yöntemi benim için işe yaramadı. Servis yöneticisini yenilediğimde hala hizmeti gösterdi, ancak açıklamayı görüntüleyemediğini belirten bir hata vardı.
datguy

2
Not: Listenin servis yöneticisinde güncellenmesi için sistemi yeniden başlatmanız gerekebilir.
kombsh

2
Belki de, bu regedit yaklaşımını SC komutundan daha aşağı yapar, bu da yeniden başlatma gerektirmez.
datguy

4
Bu hizmetlerimi berbat etti :( lütfen bu aptal iyiliği yanlış yönlendirmeyin, bu anser'i arama sayfasında otomatik olarak gösterin ve güvendim ve SOF bağlantısını tıklamadan körü körüne takip ettim ve makinemi yeniden canlandırmak zorunda kaldım
Anand Rockzz

kayıt yöntemi için teşekkürler. bir dönek makinede yapabileceğim tek yol.
ayaz

8

Windows Vista veya daha yeni bir sürüme sahipseniz, lütfen bunu bir komut isteminden Yönetici olarak çalıştırın:

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

Örneğin: sc delete moneytransfer

Klasörü sil C:\Program Files\BBRTL\moneytransfer\

Moneytransfer kayıt defteri anahtarlarını bulun ve silin:

 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

Bu adımlar Windows XP, Windows 7, Windows Vista, Windows Server 2003 ve Windows Server 2008 üzerinde test edilmiştir.


6

.NET tarafından oluşturulan hizmetler ise, installutil.exe aracını / u anahtarıyla birlikte C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 gibi .net çerçeve klasöründe kullanabilirsiniz.


6

Yukarıda açıklandığı gibi yürüttüm:

sc delete ServiceName

Ancak ben PowerShell'den yürütürken bu işe yaramadı.

PowerShell'i kullanırken tam yolunu belirtmeniz gerekir, sc.exeçünkü PowerShell'in scatamak için varsayılan bir diğer adı vardır .Set-Content . Geçerli bir komut olduğundan, aslında bir hata mesajı göstermez.

Bu sorunu çözmek için aşağıdaki gibi yürüttüm:

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

2

İşte bana aktarılan bir vbs betiği:

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

Muhtemelen nameofmyservice (NameOfMyService değil), çünkü sname önceki satır başına küçük harftir.
Dominik George


0

Benim için oluşturduğum hizmetin Denetim Masası> Programlar ve Özellikler'den kaldırılması gerekiyordu


programlarda ve özelliklerde yüklü olan hizmetleri nasıl görebilirsiniz
Nisha

Doğru hatırlıyorsam, kurulduktan sonra splunk olduğuna inandığım programın, yerel olarak barındırıldığı için bir hizmet olarak koştuğuydu. Bunu kaldırabilmem için tüm programa ihtiyacım vardı.
Demodave

Teşekkür ederim. Komut istemini kullanarak hizmetleri yükledim. Cmd cinsinden bir cmd kullanarak sildim. Yanıtladığınız için tekrar teşekkürler.
Nisha


0

Küçük hizmet listesi düzenleyici yardımcı programı Service Manager'ı kullanabilirsiniz

Ön izleme

Herhangi bir servisi> Değiştir> Sil'i seçebilirsiniz. Yöntem hemen çalışır, yeniden başlatma gerekmez.

Çalıştırılabilir dosya: [İndir]

Kaynak kodu: [İndir]

Blog yazısı: [BlogLink]

Hizmet düzenleyici sınıfı: WinServiceUtils.cs

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.