Iniciando / parando um serviço em um servidor remoto

5

Estou procurando um método de iniciar / interromper um serviço em um Windows 2003 Server remoto. Localmente, sei que o comando net funciona, mas existe uma maneira de fazer isso pela rede?

EDIT: Procurando fazer isso em um script, as ferramentas GUI externas não funcionarão a menos que tenham uma ferramenta de linha de comando.

    
por MagicKat 01.06.2009 / 23:35

8 respostas

8

Use o comando "sc.exe" no Windows Server Resource Kit.

Um exemplo, para configurar o serviço IIS para Autostart e iniciá-lo:

sc \server1 config w3svc start= auto
sc \server1 start w3svc
    
por 01.06.2009 / 23:42
6

Existe uma ferramenta sysinternals gratuita chamada PsService que permite visualizar status, iniciar, Pare os serviços localmente e em outras máquinas.

    
por 01.06.2009 / 23:38
1

Use o comando sc:

sc [server] [command] [service name]
    
por 01.06.2009 / 23:41
1

Você pode usar o comando sc .

Basicamente:

sc \server stop wuauserv

sc \server start wuauserv

Para mais informações, basta digitar sc em um prompt de comando.

    
por 01.06.2009 / 23:43
0

Além disso, encontrei este script do Powershell na net:

####################################################################################
#PoSH script to check if a server is up and if it is check for a service.
#If the service isn't running, start it and send an email
# JK - 7/2009
#Updated: 07/22/09 by Steven Murawski (http://blog.usepowershell.com)
#Changed the ping result comparison to use the .NET Enum
####################################################################################

$erroractionpreference = "SilentlyContinue"

$i = "testserver"   #Server Name
$service = "spooler"    #Service to monitor

 $ping = new-object System.Net.NetworkInformation.Ping
    $rslt = $ping.send($i)
        if ($rslt.status –eq [System.Net.NetworkInformation.IPStatus]::Success)
{
        $b = get-wmiobject win32_service -computername $i -Filter "Name = '$service'"

    If ($b.state -eq "stopped")
    {
    $b.startservice()

    $emailFrom = "[email protected]"
    $emailTo = "[email protected]"
    $subject = "$service Service has restarted on $i"
    $body = "The $service service on $i has crashed and been restarted"
    $smtpServer = "xx.yourdomain.com"
    $smtp = new-object Net.Mail.SmtpClient($smtpServer)
    $smtp.Send($emailFrom, $emailTo, $subject, $body)
    }

}
    
por 31.07.2009 / 00:42
0

Inicie sua ferramenta de administração de Serviços em sua máquina local, clique com o botão direito do mouse na entrada "Serviços (Local)" e conecte-se ao computador remoto

Isso lhe dará o serviço completo MMC para a máquina remota

    
por 01.06.2009 / 23:40
0

Se você está no coração de UNIX e trabalhando com servidores Windows, faça o que eu faço. Instale o cygwin, configure o opensshd e o ssh para usar net start / net stop.

    
por 02.06.2009 / 03:50
0

Obviamente, 'sc' foi tocado com bastante frequência, aqui está uma alternativa para você:

Há um grande grupo de utilitários lá fora, escrito por Mark Russinovitch chamado "PSTools" , que tem essa capacidade. Especificamente, 'psexec' pode fazer isso por você.

    
por 02.06.2009 / 22:20