Come controllare a distanza un servizio Windows con ServiceController?
-
24-10-2019 - |
Domanda
Sto cercando di controllare Windows servizi installati in un computer remoto. Sto utilizzando la classe ServiceController
.
ho questo:
ServiceController svc = new ServiceController("MyWindowsService", "COMPUTER_NAME");
Con questo, posso ottenere lo stato del servizio di Windows in questo modo:
string status = svc.Status.ToString();
Ma non posso controllare il servizio di Windows (facendo svc.Start();
o svc.Stop();
).
Ottengo la seguente eccezione:
Impossibile aprire il servizio Servicexxx su Computer 'COMPUTER_NAME'
E 'normale, suppongo che ci sia qualcosa a che fare con i permessi di accesso. Ma come? Ho guardato in Google ma non ho trovato quello che cercavo. Tuttavia Leggo spesso qualcosa legato alla rappresentazione, ma non so che cosa ciò significhi.
. NB: I computer locali e remoti sono entrambi in esecuzione Win XP Pro
Soluzione
Problema risolto.
La rappresentazione consiste nella gestione di un pezzo di codice utilizzando un certo accesso / password. Ho trovato questo progetto molto utile: http://www.codeproject.com/ KB / cs / svcmgr.aspx? display = Stampa che mi ha aiutato molto!
Altri suggerimenti
Avvio e arresto dei servizi è un'operazione privilegiata, normalmente disponibile solo per gli amministratori. Assicurarsi che l'account utente utilizzato disponga di privilegi sufficienti sul computer di destinazione. Fare più domande su di esso a serverfault.com
Al fine di risolvere il problema, date il vostro nome i permessi di amministrazione su computer remoto / server come dominio / username e sarà in grado di eseguire il pacchetto con successo da quando ho avuto lo stesso problema e quando ho dato i permessi per i miei self service erano accessibile sul server remoto