NET START comando não passando parâmetros no Windows Server 2008

2

Meu aplicativo chama um Stored Procedure, por meio do procedimento armazenado, estou chamando um Serviço do Windows usando o comando NET START da seguinte forma:

SELECT @Cmd = 'Net Start ServiceName /"' + @param1 + '" /"' + @param2 + '"' 

Agora os parâmetros passados aqui não estão atingindo o método OnStart . Estes valores estão em branco.

Protected Overrides Sub OnStart(ByVal args() As String)
Try
service1= New Service
service1.param2 = args(1)
service1.param1 = args(0) 

Aqui eu recebo args(0) como o nome do serviço, em vez do valor que é passado, e args(1) está em branco. Embora o args.Getlength(0) retorne 2.

O serviço inicia com sucesso, invoca o executável, mas os parâmetros não estão lá.

Qual pode ser o motivo?

  • O acesso administrativo pode ser necessário no comando NET START ?
  • A sintaxe mudou para o comando NET START no Windows Server 2008?
  • Os Serviços do Windows não aceitam parâmetros no Windows Server 2008?

A mesma coisa está funcionando bem no Windows Server 2003.

    
por Amanbbk 31.08.2012 / 12:08

1 resposta

3

NET START não suporta parâmetros de passagem. EDIT: Na verdade, aparentemente, ele passa parâmetros em alguns casos, como você afirmou. Eu suspeito que esse comportamento do comando NET START foi por acidente em vez de por design, e é por isso que ele não funciona mais e porque o comportamento não é mencionado aqui

Teste sc start , conforme a resposta aqui

sc start também oficialmente suporta parâmetros de passagem.

    
por 31.08.2012 / 14:15