NET START命令不在Windows Server 2008中传递参数

我的应用程序通过存储过程调用一个存储过程,我使用NET START命令调用Windows服务,如下所示:

 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)是空白的。 尽pipeargs.Getlength(0)返回2。

服务启动成功,它调用可执行文件,但参数不存在。

可能是什么原因?

  • NET START命令中可能需要pipe理访问权限?
  • Windows Server 2008中的NET START命令的语法是否已更改?
  • Windows服务不接受Windows Server 2008中的参数?

同样的事情在Windows Server 2003上运行良好。

NET START不支持传递参数。 编辑:其实它显然确实传递参数在某些情况下,如你所说。 我怀疑NET START命令的这种行为是偶然的,而不是由devise,这就是为什么它不再有效,为什么行为没有提到这里

尝试sc start而不是这个答案在这里

sc start也正式支持传递参数。