Windows Server 2008 中的 NET START 命令未传递参数

Windows Server 2008 中的 NET START 命令未传递参数

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)是空白。虽然args.Getlength(0)返回 2。

服务启动成功,调用可执行文件,但是没有参数。

原因何在?

  • NET START命令中可能需要管理访问权限吗?
  • NET STARTWindows Server 2008 中的命令语法是否发生了变化?
  • Windows 服务不接受 Windows Server 2008 中的参数?

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

答案1

NET START不支持传递参数。编辑:实际上,正如您所说的,在某些情况下它显然会传递参数。我怀疑 NET START 命令的这种行为是偶然的,而不是有意为之,这就是为什么它不再起作用,以及为什么没有提到这种行为这里

sc start按照这个答案尝试一下这里

sc start正式支持传递参数。

相关内容