Como criar um serviço do Windows usando o Sc.exe
Dica do SistemaEste artigo aplica-se a uma versão do Windows diferente da que você está usando. O conteúdo deste artigo pode não ser relevante para você.Visite o Centro de Suporte de Windows 7 |
Nesta página
Sumário
Apesar de poder usar as ferramentas Netsvc.exe e Instsrv.exe para iniciar um serviço em um computador remoto, essas ferramentas não oferecem a possibilidade de criar um serviço remotamente.
OBSERVAÇÃO: A ferramenta Srvinstw.exe é a versão da GUI (interface gráfica do usuário) usada para criar serviços remotos. A Srvinstw.exe não é uma ferramenta de linha de comando.
Mais Informações
O Sc.exe também permite que você chame quaisquer funções da API de controle de serviço e varie qualquer parâmetro a partir da linha de comando. A vantagem é que ele oferece uma maneira conveniente de criar ou configurar as informações de serviço no Registro e no banco de dados do Gerenciador de controle de serviço. Não é necessário configurar o serviço criando manualmente entradas no Registro e reiniciando o computador para forçar a atualização do Gerenciador de controle de serviço e de seu banco de dados.
O Sc.exe usa a seguinte sintaxe:
Sintaxe1 (use a Sintaxe1 para executar o Sc.exe)
Parâmetros
- Servername
Opcional. Especifica o nome do servidor quando quiser executar os comandos em um computador remoto. O nome deve iniciar com duas barras (\) (por exemplo, \\meu servidor). Para executar o Sc.exe no computador local, não forneça esse parâmetro. - Comando
Especifica o comando sc. Observe que muitos dos comandos sc exigem privilégios administrativos no computador especificado. O Sc.exe suporta os seguintes comandos:Config
Altera a configuração de um serviço (persistente).
Continue
Envia uma solicitação de controle Continue para um serviço.
Control
Envia um controle para um serviço.
Create
Cria um serviço (adiciona-o ao Registro).
Delete
Exclui um serviço (do Registro).
EnumDepend
Enumera dependências de serviço.
GetDisplayName
Obtém o DisplayName (nome de exibição) para um serviço.
GetKeyName
Obtém o ServiceKeyName (nome da chave do serviço) para um serviço.
Interrogate
Envia uma solicitação de controle Interrogate para um serviço.
Pause
Envia uma solicitação de controle Pause para um serviço.
qc
Consulta a configuração para o serviço. Para obter informações detalhadas, consulte a seção de referência, "SC QC".
Query
Consulta o status para um serviço ou enumera o status para tipos de serviços. Para obter informações detalhadas, consulte a seção de referência, "SC QUERY".
Start
Inicia um serviço
Stop
Envia uma solicitação Stop para um serviço. - Servicename
Especifica o nome fornecido à chave Service no Registro. Observe que isso é diferente do nome de exibição (que é o que é visto com o comando net start e com a Ferramenta Serviços no Painel de controle). O Sc.exe usa o nome da chave do serviço como o identificador primário para o serviço. - Optionname
Os parâmetros Optionname e Optionvalue permitem a especificação dos nomes e dos valores dos parâmetros de comando opcionais. Observe que não existe espaço entre Optionname e o sinal de igual. É possível fornecer um, mais de um ou nenhum par de nomes e valores opcionais de parâmetro. - Optionvalue
Especifica o valor para o parâmetro nomeado por Optionname. O intervalo de valores válido é normalmente restringido para cada Optionname. Para obter uma lista de valores válidos, solicite ajuda para cada comando.
O comando sc create cria uma entrada para o serviço no Registro e no banco de dados do Gerenciador de controle de serviço.
Sintaxe
Parâmetros
- Servername
Opcional. Especifica o nome do servidor quando quiser executar os comandos em um computador remoto. O nome deve iniciar com duas barras (\) (por exemplo, \\meu servidor). Para executar o SC no computador local, não forneça esse parâmetro. - Servicename
Especifica o nome fornecido à chave service no Registro. Observe que isso é diferente do nome de exibição, que é o visto com o comando net start e com a Ferramenta Serviços no Painel de controle). O Sc.exe usa o nome da chave do serviço como o identificador primário para o serviço. - Optionname
Os parâmetros Optionname e Optionvalue permitem a especificação dos nomes e dos valores dos parâmetros opcionais. Observe que não existe espaço entre Optionname e o sinal de igual. É possível fornecer um, mais de um ou nenhum par de nomes e de valores opcionais de parâmetro. O comando sc query suporta os seguintes valores:OptionnameOptionvaluetype=own, share, interact, kernel, filesys
Tipo de serviço que deseja criar. O Optionvalues inclui tipos usados pelos drivers.
(padrão = compartilhamento)
start=boot, system, auto, demand, disabled
Tipo de inicialização para o serviço. O Optionvalues inclui tipos usados pelos drivers.
(padrão = demanda)
error=normal, severe, critical, ignore
Gravidade do erro se o serviço não iniciar durante a inicialização.
(padrão = normal)
binPath=(seqüência)
Nome do caminho para o arquivo binário do serviço. Não existe um padrão para esse parâmetro. Essa seqüência deve ser fornecida.
group=(seqüência)
Nome do grupo do qual esse serviço é um membro. A lista de grupos é armazenada no Registro em ServiceGroupOrder.
(padrão = nada)
tag=(seqüência)
Se essa seqüência for definida como "yes", o Sc.exe obterá um TagId da chamada CreateService. No entanto, ele não exibirá a tag.
(padrão = nada)
depend=(seqüência separada por espaço)
Nomes de serviços ou grupos que devem iniciar antes de iniciar esse serviço.
obj=(seqüência)
Nome da conta na qual o serviço é executado. Para os drivers, esse é o nome do objeto de driver do Windows.
(padrão = LocalSystem)
DisplayName=(seqüência)
Uma seqüência pode ser usada pelos programas de interface do usuário para identificar o serviço.
password=(seqüência)
Uma seqüência de senha. Isso é necessário se uma conta diferente de LocalSystem for usada.
Especifica o valor para o parâmetro nomeado pelo Optionname. Consulte a referência do Optionname para obter uma lista de valores suportados. Quando uma seqüência é inserida, o uso de aspas vazias significa que uma seqüência vazia está sendo passada.
OBSERVAÇÃO: O comando sc create executa as operações da função de API CreateService.
O seguinte exemplo cria uma entrada do Registro para o serviço chamado "NewService" no computador chamado \\computador_remoto:
O seguinte exemplo cria o serviço no computador local como um serviço de inicialização automática que executa no seu próprio processo. Ele possui dependências no grupo TDI e no serviço NetBIOS. Observe que é necessário acrescentar aspas ao redor da lista de dependências separadas por espaço.