Come riavviare un servizio su un computer remoto in Windows? [chiuso]


138

A volte durante il debug, devo riavviare un servizio su una macchina remota. Attualmente, lo sto facendo tramite Desktop remoto. Come può essere fatto dalla riga di comando sul mio computer locale?


1
Nessuna di queste risposte spiega come eseguire l'avvio remoto, mentre gestisce le autorizzazioni utente richieste per eseguire la chiamata di servizio.
Djangofan,

Risposte:


206

È possibile utilizzare la console dei servizi, facendo clic sul lato sinistro e selezionando l'opzione "Connetti a un altro computer" nel menu Azione.

Se si desidera utilizzare solo la riga di comando, è possibile utilizzare

sc \\machine stop <service>

1
Funziona perfettamente da cmd.exe. Non funziona in PowerShell, probabilmente a causa del \\, segue l'errore: Set-Content: Impossibile trovare un parametro che corrisponde al nome del parametro '[il nome del servizio]'. L'unico inconveniente minore è che ti riporta alla riga di comando prima che l'operazione sia terminata.
Josh Kodroff,

4
dal momento che il comando sc funziona asyncronously, se è necessario lo script di un riavvio del servizio, dare un'occhiata ai script batch che ho postato qui: stackoverflow.com/questions/1405372/...
Eric Falsken

6
Su Powershell devi usare sc.exe \\machine stop <service>. Altrimenti, penso, sc fa riferimento a un comando diverso.
CJBrew

5
Qual è il set minimo di autorizzazioni richieste per un utente per avviare un servizio remoto specifico sul computer remoto?
huseyint,

+1 funziona senza problemi in PowerShell, contrariamente a cose come Invoke-Command \\ remote_machine {Start-Service ...} (che richiede la gestione remota di Windows configurata su remote_machine) e vince su PsTools in quanto sc.exe viene per impostazione predefinita con l'installazione di Windows
hello_earth

41

Puoi usare mmc:

  1. Avvia / Esegui. Digitare "mmc".
  2. File / Aggiungi / Rimuovi snap-in ... Fai clic su "Aggiungi ..."
  3. Trova "Servizi" e fai clic su "Aggiungi"
  4. Seleziona "Un altro computer:" e digita il nome host / l'indirizzo IP della macchina remota. Fai clic su Fine, Chiudi, ecc.

A quel punto sarai in grado di gestire i servizi come se fossero sul tuo computer locale.


1
Oops, non ho visto il requisito "riga di comando".
Ryan Duffield,

7
Quali porte dovrei sbloccare sul mio server?
The Muffin Man,

2
Questo è oro Ho sempre avuto accesso ai server in remoto per gestire i servizi. Ora con questo posso avere un elenco di server diversi all'interno della stessa console.
Alan,


7

Utilizzando la riga di comando, puoi farlo:

AT \\computername time "NET STOP servicename"
AT \\computername time "NET START servicename"

5
per chiarire, il comando "AT" utilizza l'utilità di pianificazione di Windows per pianificare un comando. è eccessivo per lo scripting di un numero di comandi remoti e non garantisce l'ordine di esecuzione o il completamento del comando prima del comando successivo. Il comando SC è molto meglio per questo. Date un'occhiata ai script batch che ho postato in questa domanda: stackoverflow.com/questions/1405372/...
Eric Falsken

1

Ti consiglierei di dare un'occhiata a RSHD

Non devi preoccuparti di un client, Windows lo ha di default.


0

Bene, se hai Visual Studio (so che è nel 2005, non sono sicuro delle versioni precedenti), puoi aggiungere la macchina remota al tag "Server Explorer". A quel punto, avrai accesso ai SERVIZI che sono in esecuzione, o che possono essere eseguiti, da quella macchina (così come i registri degli eventi, le code e un paio di altre cose interessanti).


Stranamente, questo funziona in VS2005 ma NON in VS2008. È ancora possibile SFOGLIA i servizi ma non è più possibile avviarli o interromperli direttamente. Al posto di ciò, è possibile fare clic con il pulsante destro del mouse sul nodo Servizi e avviare Service Manager per quell'host.
Peter Wone,

0

Un modo sarebbe abilitare il server Telnet sul computer su cui si desidera controllare i servizi (aggiungere / rimuovere componenti di Windows)

Apri prompt dos
Digita telnet yourmachineip / name
Accedi
tipo net start & serviceName * ad es. W3svc

Verrà avviato IIS oppure è possibile utilizzare net stop per interrompere un servizio.

A seconda della configurazione, è necessario cercare un modo per proteggere la connessione Telnet poiché ritengo che non sia crittografato.


2
Telnet è sicuramente non crittografato.
Josh Kodroff,

0

Diverse buone soluzioni qui. Se sei ancora su Win2K e non riesci a installare nulla sul computer remoto, funziona anche:

Apri la console di gestione del computer (fai clic con il pulsante destro del mouse su Risorse del computer, scegli Gestisci; apri da Strumenti di amministrazione nel menu Start o apri da MMC usando lo snap-in).

Fare clic con il tasto destro sul nome del computer e selezionare "Connetti a computer remoto"

Inserisci il nome del computer e le credenziali e avrai pieno accesso a molte funzioni di amministrazione incluso il pannello di controllo dei servizi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.