Isso também pode ser feito através de um prompt de comando elevado usando o sc
comando A sintaxe é:
sc config [service name] depend= <Dependencies(separated by / (forward slash))>
Nota : Há um espaço após o sinal de igual, e há não que antes dela.
Aviso : o depend=
parâmetro substituirá a lista de dependências existente, não será anexada. Por exemplo, se o ServiceA já depende do ServiceB e ServiceC, se você executar depend= ServiceD
, o ServiceA agora dependerá apenas do ServiceD. (Obrigado Matt !)
Exemplos
Dependência de outro serviço:
sc config ServiceA depend= ServiceB
Acima significa que o ServiceA não será iniciado até o ServiceB ser iniciado. Se você parar o ServiceB, o ServiceA será interrompido automaticamente.
Dependência de vários outros serviços:
sc config ServiceA depend= ServiceB/ServiceC/ServiceD/"Service Name With Spaces"
Acima significa que o ServiceA não será iniciado até que ServiceB, ServiceC e ServiceD tenham sido iniciados. Se você parar qualquer um dos ServiceB, ServiceC ou ServiceD, o ServiceA será interrompido automaticamente.
Para remover todas as dependências:
sc config ServiceA depend= /
Para listar dependências atuais:
sc qc ServiceA
sc qc [service name]
o comandosc.exe
contrário. Você receberá um erro: 'Não foi possível encontrar um parâmetro posicional que aceite argumento'Você pode adicionar dependências de serviço adicionando o valor "DependOnService" ao serviço no registro usando o
regedit
comando, serviços podem ser encontrados emHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Service name>
. Os detalhes podem ser encontrados no artigo 193888 do MS KB , do qual é apresentado um trecho a seguir:fonte
Eu estava procurando por um método puramente do PowerShell (sem regedit ou sc.exe) que funcione no 2008R2 / Win7 e mais recente, e veio com isso:
O mais fácil é fazer o regedit com o PowerShell:
Ou, usando o WMI:
O método Change da classe Win32_Service ajudou a apontar para uma solução:
fonte
Eu escrevi um aplicativo .net simples para gerenciar dependências de serviço, se você estiver interessado. É grátis.
http://webpages.charter.net/bushman4/servicedependencymanager.html
fonte
Em C ++ (ATL) eu fiz assim
fonte