Sunteți pe pagina 1din 3

Como criar um serviço do Windows utilizando o

Sc.exe
O suporte para o Windows XP termina em 8 de abril de 2014
A Microsoft terminará o suporte para o Windows XP em 8 de abril de 2014. Esta alteração afetará suas atualizações de
software e opções de segurança.
Saiba o que isto significa para você e como permanecer protegido.

ID do artigo: 251192 - Exibir os produtos aos quais esse artigo se aplica.

Sumário

Para criar e iniciar remotamente um serviço a partir da linha de comando, é possível usar a ferramenta SC (Sc.exe) incluída no Resource Kit.

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 ferramentas Srvinstw.exe é a versão de interface gráfica do usuário (GUI) usada para criar serviços remotos. A Srvinstw.exe não é uma ferramenta
de linha de comando.

Mais Informações

É possível usar o Sc.exe no auxílio do desenvolvimento de serviços para o Windows. O Sc.exe, que é fornecido no Resource Kit, implementa chamadas para
todas as funções da API (interface de programação de aplicativo) de controle de serviço do Windows. É possível definir os parâmetros para essas funções
especificando-as na linha de comando. O Sc.exe também exibe o status do serviço e recupera os valores armazenados nos campos de estrutura de status. A
ferramenta também permite que você especifique o nome de um computador remoto de modo que você possa chamar as funções da API de serviço ou
visualizar as estruturas de status do serviço no computador remoto.

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 (usa a Sintaxe1 para executar o Sc.exe)


sc [Servername] Command Servicename [Optionname= Optionvalue...]

Sintaxe2 (use a Sintaxe2 para exibir as informações de ajuda, exceto para o comando query)
sc [Command]

Parâmetros
Nome do servidor
Opcional. Especifica o nome do servidor quando quiser executar os comandos em um computador remoto. O nome deve iniciar com duas barras (\) (por
exemplo, \\ 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).

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

Controle
Envia um controle para um serviço.

Criar
Cria um serviço (adiciona-o ao Registro).

Excluir
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".

Início
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 de valores opcionais de parâmetro.
Optionvalue
Especifica o valor para o parâmetro nomeado pelo 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.
Muitos dos comandos exigem privilégios de Administrador. Verifique se está como administrador do computador no qual o desenvolvimento está sendo
realizado.

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
sc [Servername] criar Servicename [Optionname= Optionvalue...

Parâmetros
Nome do servidor
Opcional. Especifica o nome do servidor quando quiser executar os comandos em um computador remoto. O nome deve iniciar com duas barras (\) (por
exemplo, \\ 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:OptionnameOptionvalue
type=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.

Optionvalue
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 cadeia de caracteres está para ser inserida, o uso de cotações vazias significa que uma cadeia de caractere vazia é transmitida. Observe que há um espaço
entre OptionValue e o sinal de igual.

ObservaçãoO comando criar sc executa as operações da função de API CreateService.

O exemplo a seguir cria uma entrada do Registro para o serviço chamado "NewService" no computador chamado \\computador_remoto:
sc \\remotecomputer create newservice binpath= c:\nt\system32\newserv.exe

Observação No Windows 2000, Windows XP, Windows Server 2003, Windows Vista e Windows Server 2008, o binpath está localizado no
C:\Windows\System32\Newserv.exe.

Por padrão, esse serviço é criado como um WIN32_SHARE_PROCESS com um tipo de inicialização SERVICE_DEMAND_START. Ele não possui nenhuma
dependência e executa no contexto de segurança LocalSystem.

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.
sc create newservice binpath= c:\nt\system32\newserv.exe type= own start= auto depend= "+tdi netbios"

Observação No Windows 2000, Windows XP, Windows Server 2003, Windows Vist e Windows Server 2008, o binpath está localizado no
C:\Windows\System32\Newserv.exe.

Para obter detalhes adicionais sobre a ferramenta Sc.exe, consulte o documento Sc-dev.txt no Resource Kit. Esse documento descreve o Sc.exe detalhadamente.

Observação: este é um artigo de “PUBLICAÇÃO RÁPIDA” criado diretamente pela organização de suporte da Microsoft. As informações aqui contidas são
fornecidas no presente estado, em resposta a questões emergentes. Como resultado da velocidade de disponibilização, os materiais podem incluir erros
tipográficos e poderão ser revisados a qualquer momento, sem aviso prévio. Consulte os Termos de Uso (http://go.microsoft.com/fwlink/?LinkId=151500) para ver
outras informações.

Propriedades

ID do artigo: 251192 - Última revisão: sexta-feira, 29 de março de 2013 - Revisão: 1.0


A informação contida neste artigo aplica-se a:
Microsoft Windows NT Server 3.51
Microsoft Windows NT Server 4.0 Standard Edition
Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Professional Edition
Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
Microsoft Windows Server 2003, Datacenter x64 Edition
Microsoft Windows Server 2003, Enterprise x64 Edition
Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
Microsoft Windows Server 2003, Standard x64 Edition
Microsoft Windows Server 2003, Standard Edition (32-bit x86)
Windows Vista Home Basic
Windows Vista Home Basic N
Windows Vista Home Basic N 64-bit Edition
Windows Vista Business
Windows Vista Business 64-bit edition
Windows Vista Business N
Windows Vista Business N 64-bit Edition
Windows Vista Home Premium
Windows Vista Home Basic 64-bit edition
Windows Vista Home Premium 64-bit edition
Windows Vista Ultimate
Windows Vista Ultimate 64-bit edition
Microsoft Windows XP Home Edition
Microsoft Windows XP Professional
Windows Server 2008 Standard
Windows Server 2008 Enterprise
Windows Server 2008 Datacenter

Palavras-chave: kbhowto kbexpertiseinter kbinfo KB251192

S-ar putea să vă placă și