Transformando um arquivo ".exe" em serviço no Windows

Olá pessoal,
Segue uma dica legal para os administradores de rede….
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] create Servicename [Optionname=Optionvalue…
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: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 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:
sc \\computador_remoto create newservice binpath= c:\nt\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”
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.
Anúncios

5 respostas em “Transformando um arquivo ".exe" em serviço no Windows

  1. Só funciona com “*.EXE” desenvolvido para funcionar como SERVIÇO, que tem uma série de regras, como indicar ao sistema o seu status atual.

    Para os “*.EXE”, é necessário usar o “srvany.exe” do Resource Kit que faz a interface com o sistema de serviços do Windows. Algumas aplicações servidor que não foram desenvolvidas para ser um serviço, como o PDFCreator, é necessário fazer dessa forma.

Os comentários estão desativados.