Назад | Перейти на главную страницу

Команда NET START не передает параметры в Windows Server 2008

Мое приложение вызывает хранимую процедуру, через хранимую процедуру я вызываю службу Windows, используя NET START команду следующим образом:

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

Теперь переданные здесь параметры не достигают OnStart метод. Эти значения пустые.

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

Вот я получаю args(0) в качестве имени службы вместо переданного значения и args(1) пусто. Хотя args.Getlength(0) возвращает 2.

Служба запускается успешно, вызывает исполняемый файл, но параметров нет.

В чем может быть причина?

То же самое работает и на Windows Server 2003.

NET START не поддерживает передачу параметров. РЕДАКТИРОВАТЬ: На самом деле, как вы заявили, в некоторых случаях он, по-видимому, передает параметры. Я подозреваю, что такое поведение команды NET START было случайно, а не намеренно, поэтому оно больше не работает и почему поведение не упоминается. Вот

Пытаться sc start вместо этого, согласно этому ответу Вот

sc start также официально поддерживает передачу параметров.