Como gerenciar serviços do Windows usando CMD

Os Serviços do Windows são programas que são executados em segundo plano no sistema operacional Windows e fornecem funções importantes, como segurança, rede, impressão, etc. Os serviços do Windows podem ser iniciados automaticamente quando o sistema está ligado ou manualmente pelo usuário ou administrador. Os serviços do Windows também podem ser interrompidos, pausados ou retomados conforme necessário.

Uma maneira de gerenciar os serviços do Windows é usar Command Prompt ou CMD. CMD é uma ferramenta interna do Windows que permite aos usuários executar comandos de texto para executar várias tarefas. Usando o CMD, os usuários podem exibir uma lista de serviços disponíveis do Windows, descobrir o status do serviço, alterar o modo de inicialização do serviço e controlar as operações do serviço, como iniciar, parar, pausar e retomar.

Neste artigo, Bardimin discutirá como gerenciar serviços do Windows usando o CMD com detalhes e exemplos. Este artigo será dividido em várias partes, a saber:

  • Como faço para abrir o CMD como administrador
  • Como exibir uma lista de serviços disponíveis do Windows
  • Como descobrir o status dos serviços do Windows
  • Como alterar o modo de inicialização de um serviço do Windows
  • Como controlar a operação dos serviços do Windows
Windows Service CMD

Como faço para abrir o CMD como administrador

Para gerenciar serviços do Windows usando o CMD, precisamos abrir o CMD como administrador. Isso ocorre porque alguns serviços do Windows exigem altas permissões para serem alterados ou controlados. Se abrirmos o CMD como um usuário normal, podemos receber mensagens de erro como “Access is denied” ou “The requested pause, continue, or stop is not valid for this service”.

Aqui estão as etapas para abrir o CMD como administrador:

  • Clique no botão Start  no canto inferior esquerdo da tela
  • Digite cmd na caixa de pesquisa
  • Clique com o botão direito do mouse no resultado da pesquisa Command Prompt  e selecione Run as administrator
  • Clique Yes na  caixa de diálogo User Account Control  que aparece

Depois disso, veremos uma janela CMD com o título Administrator: Command Prompt. Isso significa que abrimos com êxito o CMD como administrador.

Como exibir uma lista de serviços disponíveis do Windows

Para ver a lista de serviços do Windows disponíveis em nosso sistema, podemos usar o comando sc query. Esse comando exibirá informações sobre todos os serviços registrados no Windows, incluindo o nome do serviço, nome para exibição, tipo, status e outros.

Aqui está um exemplo de saída do comando sc query:

C:\Windows\system32>sc query

SERVICE_NAME: AdobeARMservice
DISPLAY_NAME: Adobe Acrobat Update Service
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
...
  • SERVICE_NAME: Este é o nome de serviço interno usado pelo sistema. Esse nome é exclusivo e não pode ser alterado. Esse nome também é usado como um parâmetro para outros comandos relacionados ao serviço.
  • DISPLAY_NAME: Este é o nome exibido para o serviço na interface do usuário, como Services ou Task Manager. Esse nome pode ser alterado pelo usuário ou administrador por meio da propriedade service.
  • TYPE: Este é o tipo de serviço, que determina como o serviço é executado pelo sistema. Existem vários tipos de serviços, nomeadamente:
    • WIN32_OWN_PROCESS: Este serviço é executado em seu próprio processo, o que significa que ele não compartilha recursos com outros serviços. Esse serviço pode interagir com a área de trabalho do usuário, se permitido.
    • WIN32_SHARE_PROCESS: Este serviço é executado em um processo junto com outros serviços do mesmo tipo. Este serviço não pode interagir com a área de trabalho do usuário.
    • KERNEL_DRIVER: Este serviço é um driver de dispositivo do kernel, que faz parte do sistema operacional principal. Esse serviço é executado quando o sistema está ligado e não pode ser interrompido ou pausado pelo usuário ou administrador.
    • FILE_SYSTEM_DRIVER: Este serviço é um driver de sistema de arquivos, que gerencia o acesso ao sistema de arquivos. Esse serviço é executado quando o sistema está ligado e não pode ser interrompido ou pausado pelo usuário ou administrador.
  • STATE: Este é o status do serviço, que indica a condição operacional do serviço. Existem vários status de serviço, a saber:
    • STOPPED: Este serviço não está em execução e não está fazendo nada.
    • START_PENDING: Este serviço está em processo de início, mas ainda não está pronto para aceitar solicitações.
    • STOP_PENDING: Este serviço está em processo de aposentadoria, mas não parou completamente.
    • RUNNING: Este serviço está em execução e pronto para aceitar solicitações.
    • CONTINUE_PENDING: Este serviço está em processo de retomada após ser pausado, mas ainda não está totalmente operacional.
    • PAUSE_PENDING: Este serviço está em processo de pausa, mas não foi completamente pausado.
    • PAUSED: Este serviço está pausado e não aceita novas solicitações, mas ainda mantém seu estado e recursos anteriores.
  • WIN32_EXIT_CODE: Este é o código de erro retornado pelo serviço quando o serviço pára normalmente. Se o serviço parar com êxito, esse código será 0. Se o serviço parar com um erro, esse código indicará o tipo de erro que ocorreu. Este código pode ser pesquisado na internet para obter mais explicações.
  • SERVICE_EXIT_CODE: Este é o código de erro retornado pelo serviço quando o serviço pára por um motivo específico especificado pelo próprio serviço. Se o serviço não especificar um motivo específico, esse código será 0. Este código pode ser pesquisado na internet para obter mais explicações.
  • CHECKPOINT: Este é o valor usado pelo sistema para monitorar o progresso do serviço enquanto o serviço está no processo de iniciar, parar, pausar ou retomar. Esse valor será incrementado periodicamente durante o processo e será redefinido para 0 quando o processo for concluído. Se esse valor não for alterado dentro do tempo especificado pelo WAIT_HINT, o sistema assume que o serviço falhou.
  • WAIT_HINT: Este é o tempo máximo em milissegundos estimado pelo serviço para concluir o processo de iniciar, parar, pausar ou retomar.

Como descobrir o status dos serviços do Windows

Para descobrir o status de um determinado serviço do Windows, podemos usar  o comando sc query adicionando o nome do serviço como parâmetro. Esse comando exibe informações sobre o serviço em questão, incluindo seu status.

Aqui está um exemplo de como descobrir o status do serviço Windows Update:

C:\Windows\system32>sc query wuauserv

SERVICE_NAME: wuauserv
DISPLAY_NAME: Windows Update
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

Pela saída acima, podemos ver que o serviço Windows Update está em execução (RUNNING) e pode ser interrompido, pausado ou desativado (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN).

Se não soubermos o nome exato do serviço, podemos usar  o comando sc queryex adicionando o nome de exibição do serviço como parâmetro. Esse comando exibirá as mesmas informações que o comando sc query,  mas também exibirá  o  PID ou Process ID do serviço, que é o número de identificação do processo que executa o serviço.

Aqui está um exemplo de como descobrir o status do serviço Windows Firewall:

C:\Windows\system32>sc queryex “Windows Firewall”

SERVICE_NAME: MpsSvc
DISPLAY_NAME: Windows Firewall
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
        PID                : 1004
        FLAGS              :

Pela saída acima, podemos ver que  o serviço Windows Firewall tem o nome do MpsSvc de serviço  e está sendo executado com o PID 1004. Este Serviço também pode ser interrompido, pausado ou desativado (STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN).

Como alterar o modo de inicialização de um serviço do Windows

O modo de inicialização do serviço do Windows é uma configuração que determina como o serviço é executado quando o sistema está ativado. Existem vários modos de inicialização de serviço do Windows, a saber:

  • Automatic: Este serviço será executado automaticamente quando o sistema estiver ligado, sem a necessidade de intervenção do usuário ou administrador.
  • Manual: Este serviço não será executado automaticamente quando o sistema estiver ligado, mas pode ser executado manualmente pelo usuário ou administrador através do CMD ou outras interfaces de usuário.
  • Disabled: Este serviço não será executado, nem automática nem manualmente. Este serviço só pode ser reativado por um administrador.

Para alterar o modo de inicialização de um serviço do Windows, podemos usar  o comando sc config adicionando o nome do serviço e o modo de inicialização desejado como parâmetros. Esse comando alterará as configurações do Registro associadas a esse serviço.

Aqui está um exemplo de como alterar o modo de inicialização do serviço  Windows Defender Antivirus Service para Manual:

C:\Windows\system32>sc config WinDefend start= demand
[SC] ChangeServiceConfig SUCCESS

Pela saída acima, podemos ver que o comando alterou com êxito o modo de inicialização do serviço WinDefend para demand, o que significa Manual. Observe que há um espaço após o sinal de igual (=) neste comando.

Aqui está uma lista de modos de inicialização que podem ser usados como parâmetros no comando sc config:

  • boot: Este serviço será executado antes do carregamento do sistema operacional. Somente os serviços do kernel e do sistema de arquivos podem usar esse modo.
  • system: Este serviço será executado quando o sistema operacional for carregado. Somente os serviços do kernel e do sistema de arquivos podem usar esse modo.
  • auto: Este serviço será executado automaticamente quando o sistema estiver ligado. Isso é o mesmo que Automatic modo.
  • demand: Este serviço não será executado automaticamente quando o sistema estiver ligado, mas pode ser executado manualmente. Isso é o mesmo que Manual modo.
  • disabled: Este serviço não será executado. Isso é o mesmo que Disabled modo.

Como controlar a operação dos serviços do Windows

As operações de serviço do Windows são ações que podem ser executadas em um serviço, como iniciar, parar, pausar ou retomar. Essas operações podem afetar o estado e a funcionalidade do serviço.

Para controlar o funcionamento dos serviços do Windows, podemos usar sc comando adicionando o nome do serviço e a operação desejada como parâmetros. Esse comando envia a solicitação para o serviço e exibe os resultados.

Aqui está um exemplo de como iniciar o serviço Windows Audio:

C:\Windows\system32>sc start Audiosrv

SERVICE_NAME: Audiosrv
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 2  START_PENDING
                                (NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x7d0
        PID                : 1508
        FLAGS              :

A partir da saída acima, podemos ver que o comando enviou com êxito uma solicitação para  iniciar o serviço Audiosrv e que o serviço está em processo de iniciar (START_PENDING).

Aqui está uma lista de operações que podem ser usadas como parâmetros em sc comando:

  • start: Este serviço será iniciado se o serviço tiver um status de STOPPED.
  • stop: Este serviço será encerrado se tiver um status de RUNNING, PAUSED, START_PENDING ou CONTINUE_PENDING.
  • pause: Este serviço será pausado se o serviço estiver RUNNING ou CONTINUE_PENDING.
  • continue: Este serviço continuará se o serviço estiver PAUSED ou PAUSE_PENDING.

Conclusão

Usando o CMD, podemos gerenciar os serviços do Windows de forma fácil e rápida. Podemos visualizar a lista e o status dos serviços, alterar o modo de inicialização do serviço e controlar a operação do serviço usando os comandos que discutimos acima. Assim, podemos melhorar o desempenho e a segurança do nosso sistema de acordo com as nossas necessidades.

Últimos artigos