SC

SC

Comunica-se com o <b>Controlador de serviço</b> e os serviços instalados. O SC.exe recupera e define informações de controle sobre serviços. É possível usá-lo para testar e depurar programas de serviço. As propriedades de serviço armazenadas no Registro podem ser definidas para controlar como os aplicativos de serviço são inicializados e executados como processos em segundo plano. Os parâmetros do SC.exe podem configurar um serviço específico, recuperar o status atual de um serviço, bem como parar e iniciar um serviço. Você pode criar arquivos em lotes que chamam vários comandos do SC.exe para automatizar a seqüência de inicialização ou desligamento de serviços. O SC.exe fornece recursos semelhantes a <b>Serviços</b> no item <b>Ferramentas administrativas</b> do <b>Painel de controle</b>.

Para obter a sintaxe do comando, clique em qualquer um dos seguintes comandos sc:

sc boot

Indica se a última inicialização deve ser salva como a última configuração válida.

Sintaxe

Sc [Nome_do_Servidor] boot [{bad | OK}]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato da convenção universal de nomenclatura (UNC) ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
[{bad | OK}]
Especifica se a última inicialização foi inválida ou se deve ser salva como a última configuração de inicialização válida.
/?
Exibe ajuda no prompt de comando.

Exemplos

Os seguintes exemplos mostram como é possível usar o comando sc boot:

sc boot ok

sc boot bad

sc config

Modifica o valor das entradas de um serviço no Registro e no banco de dados do <b>Gerenciador de controle de serviços</b>.

Sintaxe

Sc [Nome_do_Servidor] config [Nome_do_Serviço] [type= {own | share | kernel | filesys | rec | adapt | interacttype= {own | share}}] [start= {boot | system | auto | demand | disabled}] [error= {normal | severe | critical | ignore}] [binpath= Nome_do_Caminho_Binário] [group= Grupo_de_Classificação_para_Carregamento] [tag= {yes | no}] [depend= dependências] [obj= {Nome_da_Conta | Nome_do_Objeto}] [displayname= Nome_de_Exibição] [password= Senha]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato da convenção universal de nomenclatura (UNC) ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
type= {own | share | kernel | filesys | rec | adapt | interacttype= {own | share}}
Especifica o tipo de serviço.

 

Valor Descrição

own

O serviço é executado em seu próprio processo. Ele não compartilha um arquivo executável com outros serviços. Este é o padrão.

share

O serviço é executado como um processo compartilhado. Ele compartilha um arquivo executável com outros serviços.

kernel

Driver.

filesys

Driver do sistema de arquivos.

rec

Driver reconhecido pelo sistema de arquivos (identifica os sistemas de arquivos no computador).

adapt

Driver de adaptador (identifica itens de hardware, como teclado, mouse e unidade de disco).

interact

O serviço pode interagir com a área de trabalho, recebendo entrada de usuários. Os serviços interativos devem ser executados na conta do sistema local. Esse tipo deve ser usado junto com type= own ou type= shared (por exemplo, type= interact type= own). O uso de type= interact sozinho gera um erro de parâmetro inválido.

start= {boot | system | auto | demand | disabled}
Especifica o tipo de início do serviço.

 

Valor Descrição

boot

Um driver de dispositivo que é carregado pelo carregador de inicialização.

system

Um driver de dispositivo que é iniciado durante a inicialização do núcleo.

auto

Um serviço iniciado automaticamente sempre que o computador é reiniciado, sendo executado mesmo que ninguém faça logon no computador.

demand

Um serviço que deve ser iniciado manualmente. Este será o valor padrão se start= não for especificado.

disabled

Um serviço que não pode ser iniciado. Para iniciar um serviço desativado, altere o valor do tipo de início.

error= {normal | severe | critical | ignore}
Especifica a gravidade do erro se o serviço não é iniciado durante a inicialização.

 

Valor Descrição

normal

O erro é registrado e uma caixa de mensagem é exibida, informando ao usuário que houve falha na inicialização de um serviço. A inicialização continuará. Esta é a configuração padrão.

severe

O erro é registrado (se possível). O computador tenta reiniciar com a última configuração válida. Isso pode resultar na reinicialização do computador, mas talvez o serviço ainda não possa ser executado.

critical

O erro é registrado (se possível). O computador tenta reiniciar com a última configuração válida. Se ela falhar, também haverá falha na inicialização e o processo será suspenso com um erro de interrupção.

ignore

O erro é registrado e a inicialização continua. Nenhuma notificação, além do registro do erro no log de eventos, é fornecida ao usuário.

binpath= Nome_do_Caminho_Binário
Especifica um caminho para o arquivo binário de serviços.
group= Grupo_de_Classificação_para_Carregamento
Especifica o nome do grupo do qual este serviço faz parte. A lista de grupos é armazenada no Registro, na subchave HKLM\System\CurrentControlSet\Control\ServiceGroupOrder. O padrão é nulo.
tag= {yes | no}
Especifica se uma TagID deve ou não ser obtida a partir da chamada CreateService. As marcas são usadas somente para drivers de inicialização ou de início do sistema.
depend= dependências
Especifica os nomes de serviços ou grupos que precisam ser iniciados antes deste serviço. Os nomes são separados por barras (/).
obj= {Nome_da_Conta | Nome_do_Objeto}
Especifica o nome de uma conta na qual será executado um serviço ou especifica o nome de um objeto de driver do Windows no qual o driver será executado. O padrão é LocalSystem.
displayname= Nome_de_Exibição
Especifica um nome significativo e amigável que pode ser usado em programas da interface do usuário para identificar o serviço aos usuários. Por exemplo, o nome da subchave de um serviço é wuauserv, que não é útil ao usuário, e o nome para exibição é Atualizações automáticas.
password= Senha
Especifica uma senha. Este parâmetro é obrigatório se é usada uma conta que não seja a do sistema local.
/?
Exibe ajuda no prompt de comando.

Comentários

  • Se não houver um espaço entre um parâmetro e seu valor (por exemplo, type= own, e não type=own), a operação falhará.

Exemplos

O seguinte exemplo mostra como é possível usar o comando sc config:

sc config NewService binpath= "ntsd -d c:\windows\system32\NewServ.exe"

sc continue

Envia uma solicitação de controle CONTINUE a um serviço para continuar um serviço interrompido.

Sintaxe

Sc [Nome_do_Servidor] continue [Nome_do_Serviço]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
/?
Exibe ajuda no prompt de comando.

Comentários

  • Use a operação continue para continuar um serviço em pausa.

Exemplos

O seguinte exemplo mostra como é possível usar o comando sc continue:

sc continue tapisrv

sc control

Envia um CONTROL B para um serviço.

Sintaxe

sc [Nome_do_Servidor] control [Nome_do_Serviço] [{paramchange | netbindadd | netbindremove | netbindenable | netbinddisable | UserDefinedControlB}]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
{paramchange | netbindadd | netbindremove | netbindenable | netbinddisable | UserDefinedControlB}
Especifica um controle a ser enviado para um serviço.
/?
Exibe ajuda no prompt de comando.

sc create

Cria uma subchave e entradas para o serviço no Registro e no banco de dados do <b>Gerenciador de controle de serviços</b>.

Sintaxe

Sc [Nome_do_Servidor] create [Nome_do_Serviço] [type= {own | share | kernel | filesys | rec | adapt | interacttype= {own | share}}] [start= {boot | system | auto | demand | disabled}] [error= {normal | severe | critical | ignore}] [binpath= Nome_do_Caminho_Binário] [group= Grupo_de_Classificação_para_Carregamento] [tag= {yes | no}] [depend= dependências] [obj= {Nome_da_Conta | Nome_do_Objeto}] [displayname= Nome_de_Exibição] [password= Senha]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
type= {own | share | kernel | filesys | rec | adapt | interacttype= {own | share}}
Especifica o tipo de serviço. O padrão é type= own.

 

Valor Descrição

own

O serviço é executado em seu próprio processo. Ele não compartilha um arquivo executável com outros serviços. Este é o padrão.

share

O serviço é executado como um processo compartilhado. Ele compartilha um arquivo executável com outros serviços.

kernel

Driver.

filesys

Driver do sistema de arquivos.

rec

Driver reconhecido pelo sistema de arquivos (identifica os sistemas de arquivos usados no computador).

interact

O serviço pode interagir com a área de trabalho, recebendo entrada de usuários. Os serviços interativos devem ser executados na conta do sistema local. Esse tipo deve ser usado junto com type= own ou type= shared (isto é, type= interact type= own). O uso de type= interact sozinho gera um erro de parâmetro inválido.

start= {boot | system | auto | demand | disabled}
Especifica o tipo de início do serviço. O início padrão é start= demand.

 

boot

Um driver de dispositivo que é carregado pelo carregador de inicialização.

system

Um driver de dispositivo que é iniciado durante a inicialização do núcleo.

auto

Um serviço iniciado automaticamente sempre que o computador é reiniciado, sendo executado mesmo que ninguém faça logon no computador.

demand

Um serviço que deve ser iniciado manualmente. Este será o valor padrão se start= não for especificado.

disabled

Um serviço que não pode ser iniciado. Para iniciar um serviço desabilitado, altere o valor do tipo de início.

error= {normal | severe | critical | ignore}
Especifica a gravidade do erro se o serviço não é iniciado durante a inicialização. O padrão é error= normal.

 

normal

O erro é registrado e uma caixa de mensagem é exibida, informando ao usuário que houve falha na inicialização de um serviço. A inicialização continuará. Esta é a configuração padrão.

severe

O erro é registrado (se possível). O computador tenta reiniciar com a última configuração válida. Isso pode resultar na reinicialização do computador, mas talvez o serviço ainda não possa ser executado.

critical

O erro é registrado (se possível). O computador tenta reiniciar com a última configuração válida. Se ela falhar, também haverá falha na inicialização e o processo será suspenso com um erro de interrupção.

ignore

O erro é registrado e a inicialização continua. Nenhuma notificação, além do registro do erro no log de eventos, é fornecida ao usuário.

binpath= Nome_do_Caminho_Binário
Especifica um caminho para o arquivo binário de serviços. Não existe um padrão para binpath= e é necessário fornecer essa seqüência de caracteres.
group= Grupo_de_Classificação_para_Carregamento
Especifica o nome do grupo do qual este serviço faz parte. A lista de grupos é armazenada no Registro, na subchave HKLM\System\CurrentControlSet\Control\ServiceGroupOrder. O padrão é nulo.
tag= {yes | no}
Especifica se uma TagID deve ou não ser obtida a partir da chamada CreateService. As marcas são usadas somente para drivers de inicialização ou de início do sistema.
depend= dependências
Especifica os nomes de serviços ou grupos que precisam ser iniciados antes deste serviço. Os nomes são separados por barras (/).
obj= {Nome_da_Conta | Nome_do_Objeto}
Especifica o nome de uma conta na qual será executado um serviço ou especifica o nome de um objeto de driver do Windows no qual o driver será executado.
displayname= Nome_de_Exibição
Especifica um nome amigável que pode ser usado em programas da interface do usuário para identificar o serviço.
password= Senha
Especifica uma senha. É obrigatório se é usada uma conta que não seja a do sistema local.
/?
Exibe ajuda no prompt de comando.

Comentários

  • Se não houver um espaço entre um parâmetro e seu valor (isto é, type= own, e não type=own), a operação falhará.

Exemplos

Os seguintes exemplos mostram como é possível usar o comando sc create:

sc \\myserver create NewService binpath= c:\windows\system32\NewServ.exe

sc create NewService binpath= c:\windows\system32\NewServ.exe type= share start= auto depend= "+TDI Netbios"

sc delete

Exclui uma subchave de serviço do Registro. Se o serviço estiver sendo executado ou se outro processo tiver um identificador aberto para o serviço, ele será marcado para exclusão.

Sintaxe

Sc [Nome_do_Servidor] delete [Nome_do_Serviço]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
/?
Exibe ajuda no prompt de comando.

Comentários

  • Use <b>Adicionar ou remover programas</b> para excluir DHCP, DNS ou qualquer outro serviço interno do sistema operacional. Essa opção não só removerá a subchave do serviço no Registro, mas também desinstalará o serviço e excluirá quaisquer atalhos para ele.

Exemplos

O seguinte exemplo mostra como é possível usar o comando sc delete:

sc delete newserv

sc description

Define a seqüência de descrição de um serviço.

Sintaxe

Sc [Nome_do_Servidor] description [Nome_do_Serviço] [Descrição]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
Descrição
Fornece uma descrição para o serviço especificado. Se nenhuma seqüência for especificada, a descrição do serviço não será modificada. Não há limite para o número de caracteres que pode estar contido na descrição do serviço.
/?
Exibe ajuda no prompt de comando.

Exemplos

O seguinte exemplo mostra como é possível usar o comando sc description:

sc description newserv "Executa o controle de qualidade do serviço."

sc enumdepend

Lista os serviços que não podem ser executados a menos que o serviço especificado esteja em execução.

Sintaxe

Sc [Nome_do_Servidor] enumdepend [Nome_do_Serviço] [Tamanho_do_Buffer]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
Tamanho_do_Buffer
Especifica o tamanho (em bytes) do buffer de enumeração. O padrão é 1024 bytes.
/?
Exibe ajuda no prompt de comando.

Comentários

  • Se o tamanho do buffer não for suficiente, a operação de enumdepend gerará dependências apenas parcialmente e especificará o tamanho adicional do buffer necessário para gerar todas as dependências. Se a saída estiver truncada, execute a operação novamente e especifique o tamanho maior do buffer.

Exemplos

Os seguintes exemplos mostram como é possível usar o comando sc enumdepend:

sc enumdepend rpcss 5690

sc enumdepend tapisrv

sc failure

Especifica a ação a ser executada em caso de falha do serviço.

Sintaxe

Sc [Nome_do_Servidor] failure [Nome_do_Serviço] [reset= Período_sem_Erros] [reboot= Mensagem_de_Difusão] [command= Linha_de_Comando] [actions= Ações_de_Falhas_e_Tempo_de_Espera]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
reset= Período_sem_Erros
Especifica a duração do período (em segundos) sem falhas após o qual a contagem de falhas deve ser redefinida como 0. Este parâmetro deve ser usado junto com o parâmetro actions=.
reboot= Mensagem_de_Difusão
Especifica a mensagem a ser difundida em caso de falha do serviço.
command= Linha_de_Comando
Especifica a linha de comando a ser executada em caso de falha do serviço. Para obter mais informações sobre como executar um arquivo VBS ou em lotes em caso de falha, consulte Comentários.
actions= Ações_de_Falhas_e_Tempo_de_Espera
Especifica as ações de falhas e os respectivos tempos de espera (em milissegundos), separados por barras (/). As seguintes ações são válidas: run, restart e reboot. Este parâmetro deve ser usado junto com o parâmetro reset=. Use actions= "" para não executar nenhuma ação em caso de falha.
/?
Exibe ajuda no prompt de comando.

Comentários

  • Nem todos os serviços permitem alterações nas opções de falha. Alguns são executados como parte de um conjunto de serviços.
  • Para executar um arquivo em lotes caso ocorra falha, especifique cmd.exeUnidade:\Nome_do_Arquivo.bat para o parâmetro command=, onde Unidade:\Nome_do_Arquivo.bat é o nome totalmente qualificado do arquivo em lotes.
  • Para executar um arquivo VBS em caso de falha, especifique cscript drive:\myscript.vbs para o parâmetro command=, onde Drive:\myscript.vbs é o nome totalmente qualificado do arquivo de script.
  • É possível especificar três ações diferentes para o parâmetro actions=, que serão usadas na primeira, segunda e terceira vez em que um serviço falhar.
  • Se não houver um espaço entre um parâmetro e seu valor (isto é, type= own, e não type=own), a operação falhará.

Exemplos

Os seguintes exemplos mostram como é possível usar o comando sc failure:

sc failure msftpsvc reset= 30 actions= restart/5000

sc failure dfs reset= 60 command= c:\windows\services\restart_dfs.exe actions= run/5000

sc failure dfs reset= 60 actions= reboot/30000

sc failure dfs reset= 60 reboot= "Falha no serviço do Sistema de Arquivos Distribuídos. Por isso, o computador será reinicializado em 30 segundos." actions= reboot/30000

sc failure myservice reset= 3600 reboot= "MeuServiço foi paralisado -- reinicializando o computador" command= "%windir%\MyServiceRecovery.exe" actions= restart/5000/run/10000/reboot/60000

sc getdisplayname

Obtém o nome para exibição associado a um serviço específico.

Sintaxe

Sc [Nome_do_Servidor] getdisplayname [Nome_do_Serviço] [Tamanho_do_Buffer]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
Tamanho_do_Buffer
Especifica o tamanho (em bytes) do buffer. O padrão é 1024 bytes.
/?
Exibe ajuda no prompt de comando.

Exemplos

Os seguintes exemplos mostram como é possível usar o comando sc getdisplayname:

sc getdisplayname clipsrv

sc getdisplayname tapisrv

sc getdisplayname sharedaccess

sc getkeyname

Obtém o nome da chave associado a um serviço específico usando o nome para exibição como entrada.

Sintaxe

sc [Nome_do_Servidor] getkeyname [Nome_de_Exibição_do_Serviço] [Tamanho_do_Buffer]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
nome_para_exibição_do_serviço
Especifica o nome para exibição do serviço.
Tamanho_do_Buffer
Especifica o tamanho (em bytes) do buffer. O padrão é 1024 bytes.
/?
Exibe ajuda no prompt de comando.

Comentários

  • Se Nome_de_Exibição_do_Serviço contiver espaços, coloque o texto entre aspas (ou seja, "Nome de Exibição do Serviço").

Exemplos

Os seguintes exemplos mostram como é possível usar o comando sc getkeyname:

sc getkeyname "chamada de procedimento remoto (rpc)"

sc getkeyname "compartilhamento de conexão com a Internet"

sc getkeyname clipbook

sc interrogate

Envia uma solicitação de controle INTERROGATE para um serviço.

Sintaxe

Sc [Nome_do_Servidor] interrogate [Nome_do_Serviço]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
/?
Exibe ajuda no prompt de comando.

Comentários

  • O envio de INTERROGATE para um serviço faz com que o serviço atualize o seu status com o <b>Gerenciador de controle de serviços</b>.

Exemplos

Os seguintes exemplos mostram como é possível usar o comando sc interrogate:

sc interrogate sharedaccess

sc interrogate rpcss

sc lock

Bloqueia o banco de dados do <b>Gerenciador de controle de serviços</b>.

Sintaxe

sc [Nome_do_Servidor] lock

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
/?
Exibe ajuda no prompt de comando.

Comentários

  • O bloqueio do banco de dados do <b>Gerenciador de controle de serviços</b> impede que qualquer serviço seja iniciado. Use esse bloqueio se deseja certificar-se de que um serviço não será iniciado depois que tiver sido interrompido. Isso permitirá executar alguma ação (por exemplo, excluir o serviço) sem interferência.
  • O uso da operação lock bloqueia o banco de dados do Gerenciador de Controle de Serviços e permite que o banco de dados seja desbloqueado digitando-se u. Também é possível interromper o processo através do qual você bloqueou o banco de dados.

Exemplos

O seguinte exemplo mostra como é possível usar o comando sc lock:

sc lock

sc pause

Envia uma solicitação de controle PAUSE para um serviço.

Sintaxe

Sc [Nome_do_Servidor] pause [Nome_do_Serviço]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
/?
Exibe ajuda no prompt de comando.

Comentários

  • Use a operação pause para pausar um serviço antes de desativá-lo.
  • Não é possível pausar todos os serviços.
  • Nem todos os serviços reagem da mesma forma quando são interrompidos. Alguns continuam a atender os clientes existentes, mas se recusam a aceitar novos clientes. Outros deixam de atender os clientes existentes e também se recusam a aceitar os novos.

Exemplos

O seguinte exemplo mostra como é possível usar o comando sc pause:

sc pause tapisrv

sc qc

Consulta as informações de configuração de um serviço.

Sintaxe

Sc [Nome_do_Servidor] qc [Nome_do_Serviço] [Tamanho_do_Buffer]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
Tamanho_do_Buffer
Especifica o tamanho (em bytes) do buffer. O padrão é 1024 bytes.
/?
Exibe ajuda no prompt de comando.

Comentários

  • A operação qc exibe as seguintes informações sobre um serviço: SERVICE_NAME (nome da subchave do serviço no Registro), TYPE, ERROR_CONTROL, BINARY_PATH_NAME, LOAD_ORDER_GROUP, TAG, DISPLAY_NAME, DEPENDENCIES e SERVICE_START_NAME.
  • Os administradores podem usar o comando SC para determinar o nome binário de qualquer serviço e descobrir se ele compartilha um processo com outros serviços digitando o seguinte na linha de comando:
    sc qcNome_do_Serviço
    O SC pode ajudar na correspondência de serviços no nó de serviços do Console de gerenciamento Microsoft (MMC) com processos no Monitor do sistema. Se o nome binário for Services.exe, o serviço compartilhará o processo do Controlador de Serviço.
    O Services.exe inicia todos os serviços. Para preservar os recursos do sistema, vários serviços Win32 desenvolvidos para Windows são gravados para compartilhar o processo do Services.exe. Esses serviços não são listados como processos separados no Monitor do sistema ou no <b>Gerenciador de tarefas</b>. O mesmo se aplica ao Svchost.exe que é um processo de host de serviço compartilhado por muitos serviços operacionais.
    Talvez não exista um processo para cada serviço Win32 porque os serviços Win32 de terceiros também podem ser configurados para compartilhar processos. É possível usar o SC para obter informações de configuração sobre esses serviços. No entanto, se um serviço não compartilhar o seu processo com outros serviços, haverá um processo para ele no Monitor do sistema quando estiver em execução.
  • O SC pode ser útil aos desenvolvedores de serviços porque fornece mais informações detalhadas e precisas sobre serviços do que o Services.exe, que está incluído no Windows. O Services.exe pode determinar se um serviço está em execução, parado ou interrompido. Embora essas ferramentas sejam adequadas para um aplicativo depurado que esteja sendo executado sem problemas, as informações por elas fornecidas sobre um serviço em desenvolvimento podem ser enganosas. Por exemplo, um serviço que está iniciando é mostrado como iniciado, independentemente de estar ou não de fato em execução.
    O SC implementa chamadas para todas as funções da interface de programação de aplicativo (API) do controle de serviços do Windows. Para definir os parâmetros para essas funções, especifique-os na linha de comando.
    Com o SC, é possível consultar o status de serviços e recuperar os valores armazenados nos campos de estrutura de status. Services.exe não pode fornecer o status completo de um serviço, mas o SC mostra o estado exato do serviço, bem como o número do último ponto de verificação e a dica de espera. Você pode usar o ponto de verificação como uma ferramenta de depuração, pois ele indica até onde a inicialização progrediu antes do programa parar de responder. O SC também permite especificar o nome de um computador remoto, de modo que você possa chamar as funções de API do serviço ou exibir as estruturas de status do serviço em um computador remoto.

Exemplos

Os seguintes exemplos mostram como é possível usar o comando sc qc:

sc qc \\myserver newsrvice

sc qc rpcss 248

sc qdescription

Exibe a seqüência de descrição de um serviço.

Sintaxe

Sc [Nome_do_Servidor] qdescription [Nome_do_Serviço] [Tamanho_do_Buffer]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
Tamanho_do_Buffer
Especifica o tamanho (em bytes) do buffer. O padrão é 1024 bytes.
/?
Exibe ajuda no prompt de comando.

Exemplos

Os seguintes exemplos mostram como é possível usar o comando sc qdescription:

sc qdescription rpcss

sc qdescription rpcss 138

sc qfailure

Exibe as ações a serem executadas se houver falha no serviço especificado.

Sintaxe

Sc [Nome_do_Servidor] qfailure [Nome_do_Serviço] [Tamanho_do_Buffer]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
Tamanho_do_Buffer
Especifica o tamanho (em bytes) do buffer. O padrão é 1024 bytes.
/?
Exibe ajuda no prompt de comando.

Comentários

  • A operação qfailure exibe as seguintes informações sobre um serviço: SERVICE_NAME (nome da subchave do serviço no Registro), RESET_PERIOD, REBOOT_MESSAGE, COMMAND_LINE e FAILURE_ACTIONS.

Exemplos

Os seguintes exemplos mostram como é possível usar o comando sc qfailure:

sc qfailure rpcss

sc qfailure rpcss 20

sc query

Obtém e exibe informações sobre o serviço, driver, tipo de serviço ou tipo de driver especificado.

Sintaxe

Sc [Nome_do_Servidor] query [Nome_do_Serviço] [type= {driver | service | all}] [type= {own | share | interact | kernel | filesys | rec | adapt}] [state= {active | inactive | all}] [bufsize= Tamanho_do_Buffer] [ri= Índice_para_Continuação] [group= Nome_do_Grupo]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname. Este parâmetro query não é usado junto com outros parâmetros query (exceto Nome_do_Servidor).
type= {driver | service | all}
Especifica o que deve ser enumerado. O tipo padrão é service.

 

Valor Descrição

driver

Especifica que apenas os drivers são enumerados.

service

Especifica que apenas os serviços são enumerados.

all

Especifica que os drivers e os serviços são enumerados.

type= {own | share | interact | kernel | filesys | rec | adapt}
Especifica os tipos de serviços ou de drivers a serem enumerados.

 

Valor Descrição

own

O serviço é executado em seu próprio processo. Ele não compartilha um arquivo executável com outros serviços. Este é o padrão.

share

O serviço é executado como um processo compartilhado. Ele compartilha um arquivo executável com outros serviços.

interact

O serviço pode interagir com a área de trabalho, recebendo entrada de usuários. Os serviços interativos devem ser executados na conta do sistema local.

kernel

Driver.

filesys

Driver do sistema de arquivos.

state= {active | inactive | all}
Especifica o estado inicial do serviço a ser enumerado. O estado padrão é active.

 

Valor Descrição

active

Especifica todos os serviços ativos.

inactive

Especifica todos os serviços em pausa ou parados.

all

Especifica todos os serviços.

bufsize= Tamanho_do_Buffer
Especifica o tamanho (em bytes) do buffer de enumeração. O tamanho padrão é 1024 bytes. Aumente o tamanho do buffer de enumeração quando o resultado de uma consulta ultrapassar 1024 bytes.
ri= Índice_para_Continuação
Especifica o número de índice no qual a enumeração deve começar ou continuar. O padrão é 0. Use este parâmetro junto com o parâmetro bufsize= quando uma consulta retornar mais informações do que as que podem ser exibidas pelo buffer padrão.
group= Nome_do_Grupo
Especifica o grupo de serviços a ser enumerado. O padrão é todos os grupos.
/?
Exibe ajuda no prompt de comando.

Comentários

  • Se não houver um espaço entre um parâmetro e seu valor (isto é, type= own, e não type=own), a operação falhará.
  • A operação query exibe as seguintes informações sobre um serviço: SERVICE_NAME (nome da subchave do serviço no Registro), TYPE, STATE (bem como os estados que não estão disponíveis), WIN32_EXIT_B, SERVICE_EXIT_B, CHECKPOINT e WAIT_HINT.
  • O parâmetro type= pode ser usado duas vezes em alguns casos. A primeira ocorrência do parâmetro type= especifica se devem ser consultados serviços, drivers ou tudo. A segunda ocorrência do parâmetro type= especifica um tipo a partir da operação create para restringir ainda mais o escopo de uma consulta.
  • Quando o resultado de um comando query ultrapassa o tamanho do buffer de enumeração, é exibida uma mensagem semelhante a esta:
    Enum: more data, need 1822 bytes start resume at index 79
    Para exibir as informações restantes de query, execute query novamente, definindo bufsize= como o número de bytes e ri= como o índice especificado. Por exemplo, para que a saída restante seja exibida, digite o seguinte na linha de comando:
    sc query bufsize= 1822 ri= 79

Exemplos

Os seguintes exemplos mostram como é possível usar o comando sc query:

sc query

sc query messenger

sc query type= driver

sc query type= service

sc query state= all

sc query bufsize= 50

sc query ri= 14

sc query type= service type= interact

sc query type= driver group= ndis

sc queryex

Obtém e exibe informações estendidas sobre o serviço, driver, tipo de serviço ou tipo de driver especificado.

Sintaxe

Sc [Nome_do_Servidor] queryex [type= {driver | service | all}] [type= {own | share | interact | kernel | filesys | rec | adapt}] [state= {active | inactive | all}] [bufsize= Tamanho_do_Buffer] [ri= Índice_para_Continuação][group= Nome_do_Grupo]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname. Este parâmetro queryex não é usado junto com nenhum outro parâmetro queryex, exceto Nome_do_Servidor.
type= {driver | service | all}
Especifica o que deve ser enumerado. O tipo padrão é service.

 

Valor Descrição

driver

Especifica que apenas os drivers são enumerados.

service

Especifica que apenas os serviços são enumerados.

all

Especifica que os drivers e os serviços são enumerados.

type= {own | share | interact | kernel | filesys | rec | adapt}
Especifica os tipos de serviços ou de drivers a serem enumerados.

 

Valor Descrição

own

O serviço é executado em seu próprio processo. Ele não compartilha um arquivo executável com outros serviços. Este é o padrão.

share

O serviço é executado como um processo compartilhado. Ele compartilha um arquivo executável com outros serviços.

interact

O serviço pode interagir com a área de trabalho, recebendo entrada de usuários. Os serviços interativos devem ser executados na conta do sistema local.

kernel

Driver.

filesys

Driver do sistema de arquivos.

state= {active | inactive | all}
Especifica o estado inicial do serviço a ser enumerado. O estado padrão é active.

 

Valor Descrição

active

Especifica todos os serviços ativos.

inactive

Especifica todos os serviços em pausa ou parados.

all

Especifica todos os serviços.

bufsize= Tamanho_do_Buffer
Especifica o tamanho (em bytes) do buffer de enumeração. O tamanho padrão é 1024 bytes.
ri= Índice_para_Continuação
Especifica o número de índice no qual a enumeração deve começar ou continuar. O padrão é 0.
group= Nome_do_Grupo
Especifica o grupo de serviços a ser enumerado. O padrão é todos os grupos.
/?
Exibe ajuda no prompt de comando.

Comentários

  • Se não houver um espaço entre um parâmetro e seu valor (isto é, type= own, e não type=own), a operação falhará.
  • A operação queryex exibe as seguintes informações sobre um serviço: SERVICE_NAME (nome da subchave do serviço no Registro), TYPE, STATE (bem como estados que não estão disponíveis), WIN32_EXIT_B, SERVICE_EXIT_B, CHECKPOINT, WAIT_HINT, PID e FLAGS.
  • O parâmetro type= pode ser usado duas vezes em alguns casos. A primeira ocorrência do parâmetro type= especifica se devem ser consultados serviços, drivers ou tudo. A segunda ocorrência do parâmetro type= especifica um tipo a partir da operação create para restringir ainda mais o escopo de uma consulta.
  • Quando o resultado de um comando queryex ultrapassa o tamanho do buffer de enumeração, é exibida uma mensagem semelhante a esta:
    Enum: more data, need 2130 bytes start resume at index 75
    Para exibir as informações restantes de queryex, execute queryex novamente, definindo bufsize= como o número de bytes e ri= como o índice especificado. Por exemplo, para que a saída restante seja exibida, digite o seguinte na linha de comando:
    sc queryex bufsize= 2130 ri= 75

Exemplos

Os seguintes exemplos mostram como é possível usar o comando sc queryex:

sc queryex messenger

sc queryex group= ""

sc querylock

Consulta e exibe o status de bloqueio do banco de dados do <b>Gerenciador de controle de serviços</b>.

Sintaxe

Sc [Nome_do_Servidor] querylock

Parâmetro

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
/?
Exibe ajuda no prompt de comando.

sc sdset

Define o descritor de segurança de um serviço usando a linguagem de definição do descritor de serviços (SDDL).

Sintaxe

Sc [Nome_do_Servidor] sdset Nome_do_Serviço Descritor_de_Segurança_do_Serviço

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
descritor_de_segurança_do_serviço
Especifica o descritor do serviço na linguagem SDDL.
/?
Exibe ajuda no prompt de comando.

Comentários

  • Para obter mais informações sobre SDDL, consulte Security Descriptor Definition Language no site da Microsoft (site em inglês).

sc sdshow

Exibe o descritor de segurança de um serviço usando a linguagem SDDL.

Sintaxe

Sc [Nome_do_Servidor] sdshow Nome_do_Serviço

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
/?
Exibe ajuda no prompt de comando.

Comentários

  • Para obter mais informações sobre SDDL, consulte Security Descriptor Definition Language no site da Microsoft (site em inglês).

Exemplos

sc sdshow rpcss

sc start

Inicia a execução de um serviço.

Sintaxe

Sc [Nome_do_Servidor] start Nome_do_Serviço [Argumentos_de_Serviço]

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
argumentos_de_serviço
Especifica argumentos de serviço que serão transferidos para o serviço a ser iniciado.
/?
Exibe ajuda no prompt de comando.

Exemplos

O seguinte exemplo mostra como é possível usar o comando sc start:

sc start tapisrv

sc stop

Envia uma solicitação de controle STOP para um serviço.

Sintaxe

Sc [Nome_do_Servidor] stop Nome_do_Serviço

Parâmetros

Nome_do_Servidor
Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC ("\\meuservidor"). Para executar SC.exe localmente, ignore este parâmetro.
Nome_do_Serviço
Especifica o nome do serviço retornado pela operação getkeyname.
/?
Exibe ajuda no prompt de comando.

Cuidado

  • A edição incorreta do Registro pode causar danos graves ao sistema. Antes de alterar o Registro, faça backup de todos os dados importantes do computador.

Comentários

  • Não é possível parar todos os serviços.

Exemplos

O seguinte exemplo mostra como é possível usar o comando sc stop:

sc stop tapisrv

Legenda da formatação

 

Formato Significado

Itálico

Informações que devem ser fornecidas pelo usuário

Negrito

Elementos que o usuário deve digitar exatamente conforme mostrado

Reticências (...)

Parâmetro que pode ser repetido várias vezes em uma linha de comando

Entre colchetes ([])

Itens opcionais

Entre chaves ({}); opções separadas por barra vertical (|). Exemplo: {even|odd}

Conjunto de opções entre as quais o usuário deve escolher apenas uma

Courier font

Saída de código ou de programa

Consulte também

Contribuições da comunidade

Mostrar: