Pergunta

Sim, eu poderia google isso, mas eu estou sendo um pouco preguiçoso. Eu preciso para controlar remotamente os serviços do Windows em outra máquina. Será que a classe ServiceController deixe-me fazer isso? Que restrições existem? Posso iniciar / parar / mudar a "executar como" detalhes remotamente, ou seja, alterar uma senha que é devido a expirar?

Eu vou estar tentando dar aos usuários no trabalho um painel website ASP.Net para controlar vários serviços que são executados em sua máquina local sob sua própria conta (eles são todos os administradores locais sobre a sua máquina). Esta é integrado com outras funcionalidades para que eu não estou olhando para criar um distribuível que pode ser executado localmente para eles. Estará usando autenticação do Windows e representando o usuário para fazer as mudanças. Que problemas se houver sou eu provavelmente irá se deparar com isso?

Felicidades

Foi útil?

Solução

var sc = new ServiceController("servicename", "othermachinename");

A conta executar o código precisará de permissões administrativas no computador de destino, a fim de interagir com o serviço. Representação vai funcionar. Eu só usei isso em uma situação controlada firmemente bastante (ou seja, executar a partir de uma conta de usuário com as mesmas credenciais nas máquinas de origem / destino), mas na minha experiência todas as operações funcionam como esperado.

Se você quiser credenciais de serviço mudança etc, você terá que usar WMI - que não é tão fácil como usar a classe ServiceController. Consulte a classe ManagementObject para mais informações.

este link que descreve usando o WMI para credenciais de serviço mudança.

Outras dicas

@MadSeb -

Como eu disse na minha outro post :

Se você estiver usando C # ou VB.Net, em seguida, usar WMI

Caso contrário, " SC " é provavelmente a melhor ferramenta para usar a partir de uma linha de comando ou .bat arquivo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top