Come posso eliminare un servizio in Windows?
-
09-06-2019 - |
Domanda
Ho un paio di vecchi servizi che voglio disinstallare completamente.Come posso fare questo?
Soluzione
Usa il SC comando, in questo modo (devi essere su un prompt dei comandi per eseguire i comandi in questo post):
SC STOP shortservicename
SC DELETE shortservicename
Nota: È necessario eseguire il prompt dei comandi come amministratore, non solo accedere come amministratore, ma anche con diritti amministrativi.Se ricevi gli errori sopra indicati relativi alla mancanza dei diritti di accesso necessari per arrestare e/o eliminare il servizio, esegui il prompt dei comandi come amministratore.Puoi farlo cercando il prompt dei comandi nel menu Start, quindi facendo clic con il pulsante destro del mouse e selezionando "Esegui come amministratore". Nota per gli utenti di PowerShell: sc
è aliasato a set-content
.COSÌ sc delete service
creerà effettivamente un file chiamato delete
con il contenuto service
.Per fare ciò in Powershell, utilizzare sc.exe delete service
Invece
Se hai bisogno di trovare il nome breve di un servizio, utilizza il comando seguente per generare un file di testo contenente un elenco di servizi e i relativi stati:
SC QUERY state= all >"C:\Service List.txt"
Per un elenco più conciso, esegui questo comando:
SC QUERY state= all | FIND "_NAME"
Il nome breve del servizio verrà elencato appena sopra il nome visualizzato, in questo modo:
SERVICE_NAME: MyService
DISPLAY_NAME: My Special Service
E quindi per eliminare quel servizio:
SC STOP MyService
SC DELETE MyService
Altri suggerimenti
Clic Inizio | Correre e digitare regedit
all'aperto:linea.Fare clic su OK.
Navigare verso HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Scorri verso il basso nel riquadro sinistro, individua il nome del servizio, fai clic con il pulsante destro del mouse e seleziona Elimina.
Riavviare il sistema.
Utilizzo services.msc oppure (Start > Pannello di controllo > Strumenti di amministrazione > Servizi) per trovare il servizio in questione.Fare doppio clic per visualizzare il nome del servizio e il percorso dell'eseguibile.
Controlla le informazioni sulla versione dell'exe per avere un indizio sul proprietario del servizio e, se possibile, utilizza i programmi Aggiungi/Rimuovi per eseguire una disinstallazione pulita.
In caso contrario, dal prompt dei comandi:
sc stop servicexyz
sc delete servicexyz
Non dovrebbe essere necessario alcun riavvio.
SC DELETE "service name"
Esegui il comando su cmd come amministratore altrimenti riceverai questo errore: -
openservice non riuscito 5 accesso negato
Se hai Windows Vista o versione successiva eseguilo dal prompt dei comandi come amministratore:
sc delete [your service name as shown in service.msc e.g moneytransfer]
Per esempio: sc delete moneytransfer
Elimina la cartella C:\Program Files\BBRTL\moneytransfer\
Trova le chiavi di registro di Moneytransfer ed eliminale:
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
Questi passaggi sono stati testati su Windows XP, Windows 7, Windows Vista, Windows Server 2003 e Windows Server 2008.
Possiamo farlo in due modi diversi
Rimuovere il servizio Windows tramite il registro
È molto semplice rimuovere un servizio dal registro se conosci la strada giusta.Ecco come l'ho fatto:
Correre Regedit O Regedt32
Vai alla voce di registro "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services"
Cerca il servizio che desideri eliminare ed eliminalo.Puoi guardare le chiavi per sapere quali file stava utilizzando il servizio ed eliminarli anche (se necessario).
Elimina il servizio Windows tramite la finestra di comando
In alternativa, puoi anche utilizzare il prompt dei comandi ed eliminare un servizio utilizzando il seguente comando:
sc elimina
Puoi anche creare un servizio utilizzando il seguente comando
sc crea "MorganTechService" binpath= "C:\Programmi\MorganTechSPace\myservice.exe"
Nota:Potrebbe essere necessario riavviare il sistema per aggiornare l'elenco in Gestione servizi.
Come descritto sopra ho eseguito:
sc delete ServiceName
Tuttavia questo non ha funzionato mentre lo stavo eseguendo da PowerShell.
Quando si utilizza PowerShell è necessario specificare il percorso completo di sc.exe
perché PowerShell ha un alias predefinito per sc
assegnandolo a Set-Content
.Poiché è un comando valido, in realtà non mostra un messaggio di errore.
Per risolvere questo problema l'ho eseguito come segue:
C:\Windows\System32\sc.exe delete ServiceName
Se sono servizi creati .NET è possibile utilizzare InstalTutil.exe con /U Switch ITS nella cartella .NET Framework come C: Windows Microsoft.NET Framework64 v2.0.50727
Ecco uno script vbs che mi è stato tramandato:
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
sc elimina il nome
Per me il servizio che ho creato doveva essere disinstallato in Pannello di controllo > Programmi e funzionalità
Prima di rimuovere il servizio dovresti rivedere le dipendenze.
Puoi verificarlo:
Aprire services.msc
e trova il nome del servizio, passa alla scheda "Dipendenze".
Fonte: http://www.sysadmit.com/2016/03/windows-eliminar-un-servicio.html