Ferramentas de Linha de Comando

Comando Sc


( Retorna à Lista completa de comandos Shell )

Comando Sc


Comunica-se com o Controlador de serviço 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 Serviços no item Ferramentas administrativas do Painel de controle.

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) ("\\meu_servidor"). Para executar o 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 exemplos a seguir 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 Gerenciador de controle de serviços.

Sintaxe
sc [nome_do_servidor] config [nome_do_serviço] [type= {own|share|kernel|filesys|rec|adapt|interact type= {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_para_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) ("\\meu_servidor"). Para executar o 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|interact type= {own|share}}
Especifica o tipo de serviço. Valor Descrição
own O serviço é executado em seu próprio processo. Não compartilha um arquivo executável com outros serviços. Este é o padrão.
share O serviço é executado como um processo compartilhado. 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. É necessário que os serviços interativos sejam executados na conta do sistema local. Esse tipo precisa ser usado em conjunto com type= own ou type= shared (por exemplo, type= interact type= own). O uso de type= interact sozinho gerará um erro de parâmetro inválido.

start= {boot|system|auto|demand|disabled}
Especifica o tipo inicial 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 e executado, mesmo que ninguém tenha feito logon.
demand Um serviço que precisa 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 inicial para outro valor.

error= {normal|severe|critical|ignore}
Especifica a gravidade do erro se ocorre falha no serviço durante a inicialização. Valor Descrição
normal O erro é registrado e uma caixa de mensagem é exibida, informando o usuário de 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 esse 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 é o LocalSystem.
displayname= nome_para_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 o seu valor (por exemplo, type= own, e não type=own), haverá falha na operação.
Exemplos
O exemplo a seguir 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 da UNC ("\\meu_servidor"). Para executar o 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 interrompido.
Exemplos
O exemplo a seguir 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|controle_B_definido_pelo_usuário}]

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 UNC ("\\meu_servidor"). Para executar o 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|controle_B_definido_pelo_usuário}
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 Gerenciador de controle de serviços.

Sintaxe
sc [nome_do_servidor] create [nome_do_serviço] [type= {own|share|kernel|filesys|rec|adapt|interact type= {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_para_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 UNC ("\\meu_servidor"). Para executar o 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|interact type= {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. Não compartilha um arquivo executável com outros serviços. Este é o padrão.
share O serviço é executado como um processo compartilhado. 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. É necessário que os serviços interativos sejam executados na conta do sistema local. Esse tipo precisa ser usado em conjunto com type= own ou type= shared (isto é, type= interact type= own). O uso de type= interact sozinho gerará um erro de parâmetro inválido.

start= {boot|system|auto|demand|disabled}
Especifica o tipo inicial 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 e executado mesmo que ninguém tenha feito logon.
demand Um serviço que precisa 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 inicial para outro valor.

error= {normal|severe|critical|ignore}
Especifica a gravidade do erro se ocorre falha no serviço durante a inicialização. O padrão é error= normal.normal O erro é registrado e uma caixa de mensagem é exibida, informando o usuário de 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 esse 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.
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_para_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 o seu valor (isto é, type= own, e não type=own), haverá falha na operação.
Exemplos
Os exemplos a seguir mostram como é possível usar o comando sc create:

sc \\meu_servidor 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 da UNC ("\\meu_servidor"). Para executar o 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 Adicionar ou remover programas 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 exemplo a seguir 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 da UNC ("\\meu_servidor"). Para executar o 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 exemplo a seguir 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 da UNC ("\\meu_servidor"). Para executar o 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 for insuficiente, a operação do comando 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 exemplos a seguir 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 da UNC ("\\meu_servidor"). Para executar o 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 depois do qual a contagem de falhas deve ser redefinida como 0. Este parâmetro deve ser usado em conjunto 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 precisa ser usado em conjunto 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 em caso de falha, especifique cmd.exe unidade:\nome_do_arquivo.bat para o parâmetro command=, em que unidade:\nome_do_arquivo.bat é o nome totalmente qualificado do arquivo em lotes.
Para executar um arquivo VBS em caso de falha, especifique cscript unidade:\meu_script.vbs para o parâmetro command=, em que unidade:\meu_script.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 ocorrer falha em um serviço.
Se não houver um espaço entre um parâmetro e o seu valor (isto é, type= own, e não type=own), haverá falha na operação.
Exemplos
Os exemplos a seguir 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. O computador será reinicializado em 30 segundos." actions= reboot/30000
sc failure meu_serviço reset= 3600 reboot= "Meu_serviço foi paralisado -- reinicializando o computador" command= "%windir%\Recuperação_meu_serviço.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 da UNC ("\\meu_servidor"). Para executar o 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 exemplos a seguir 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_para_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 da UNC ("\\meu_servidor"). Para executar o 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 o nome_para_exibição_do_serviço contiver espaços, coloque o texto entre aspas (isto é, "nome para exibição do serviço").
Exemplos
Os exemplos a seguir 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 da UNC ("\\meu_servidor"). Para executar o 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 Gerenciador de controle de serviços.
Exemplos
Os exemplos a seguir mostram como é possível usar o comando sc interrogate:

sc interrogate sharedaccess
sc interrogate rpcss

sc lock

Bloqueia o banco de dados do Gerenciador de controle de serviços.

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 da UNC ("\\meu_servidor"). Para executar o SC.exe localmente, ignore este parâmetro.
/?
Exibe ajuda no prompt de comando.
Comentários
O bloqueio do banco de dados do Gerenciador de controle de serviços 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 depois permite que o banco de dados seja desbloqueado digitando-se u. Também é possível terminar o processo através do qual você bloqueou o banco de dados.
Exemplos
O exemplo a seguir 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 da UNC ("\\meu_servidor"). Para executar o 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 desligá-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 exemplo a seguir 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 da UNC ("\\meu_servidor"). Para executar o 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 de 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 qc nome_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 Gerenciador de tarefas. 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. O 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 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 exemplos a seguir mostram como é possível usar o comando sc qc:

sc qc \\meu_servidor 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 da UNC ("\\meu_servidor"). Para executar o 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 exemplos a seguir 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 da UNC ("\\meu_servidor"). Para executar o 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 de 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 exemplos a seguir 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 da UNC ("\\meu_servidor"). Para executar o 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 não é usado em conjunto 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 drivers que serão enumerados. Valor Descrição
own O serviço é executado em seu próprio processo. Não compartilha um arquivo executável com outros serviços. Este é o padrão.
share O serviço é executado como um processo compartilhado. 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. É necessário que os serviços interativos sejam 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 interrompidos 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 em conjunto 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 o seu valor (isto é, type= own, e não type=own), haverá falha na operação.
A operação de 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 desse parâmetro especifica se devem ser consultados serviços, drivers ou tudo. A segunda ocorrência especifica um tipo a partir da operação de 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, uma mensagem semelhante a esta é exibida:
Enum: mais dados, são necessários 1822 bytes para reiniciar no índice 79

Para exibir as informações restantes do comando query, execute-o novamente, definindo bufsize= como o número de bytes e ri= como o índice especificado. Por exemplo, para que a saída restante fosse exibida, seria necessário digitar o seguinte na linha de comando:

sc query bufsize= 1822 ri= 79

Exemplos
Os exemplos a seguir 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 da UNC ("\\meu_servidor"). Para executar o SC.exe localmente, ignore este parâmetro.
nome_do_serviço
Especifica o nome do serviço retornado pela operação getkeyname. O parâmetro queryex não é usado com nenhum outro parâmetro do 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 drivers que serão enumerados.Valor Descrição
own O serviço é executado em seu próprio processo. Não compartilha um arquivo executável com outros serviços. Este é o padrão.
share O serviço é executado como um processo compartilhado. 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. É necessário que os serviços interativos sejam 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 interrompidos 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 o seu valor (isto é, type= own, e não type=own), haverá falha na operação.
A operação de 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 desse parâmetro especifica se devem ser consultados serviços, drivers ou tudo. A segunda ocorrência especifica um tipo a partir da operação de 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, uma mensagem semelhante a esta é exibida:
Enum: mais dados, são necessários 2130 bytes para reiniciar no índice 75

Para exibir as informações restantes do comando queryex, execute-o novamente, definindo bufsize= como o número de bytes e ri= como o índice especificado. Por exemplo, para que a saída restante fosse exibida, seria necessário digitar o seguinte na linha de comando:

sc queryex bufsize= 2130 ri= 75

Exemplos
Os exemplos a seguir 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 Gerenciador de controle de serviços.

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 da UNC ("\\meu_servidor"). Para executar o 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 da UNC ("\\meu_servidor"). Para executar o 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" na MSDN Online Library.(http://www.microsoft.com/)
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 da UNC ("\\meu_servidor"). Para executar o 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" na MSDN Online Library.(http://www.microsoft.com/)
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 da UNC ("\\meu_servidor"). Para executar o 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 exemplo a seguir 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 da UNC ("\\meu_servidor"). Para executar o 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
Não é possível parar todos os serviços.
Exemplos
O exemplo a seguir mostra como é possível usar o comando sc stop:

sc stop tapisrv

Comentários

Sistemas Operacionais | Linux Comandos | Linux Shell Script | Atalhos do Office | Literatura e Leitura | Principais Autores | História da Literatura |


Formatando legenda
FormatoSignificado
Itálico Informações que o usuário deve fornecer
Negrito Elementos que o usuário deve digitar exatamente como 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
Fonte Courier Código ou resultado de um programa


Envie seu comentário:
Nome:

E-mail:

Comentário:


Fonte: •Manual do Windows XP • ( Literatura e Leitura ) • ( Dicas sobre Sistemas Operacionais ) • ( Retorna à Lista completa de comandos Shell ) •