我目前正在使用 WMI 来启动服务,这很好。
但此外,我想向该服务发送一个启动参数。
有没有办法使用 WMI 来做到这一点?到目前为止我还没有找到任何东西。
问候,
托马斯。
答案1
无法使用 StartService 来完成,至少不能使用任意参数,因为 WMI StartService 方法只是启动机器上已定义的服务。
与服务一起使用的参数是在服务定义期间(当它被添加到机器时)设置的。
最好的情况下,你可以通过停止服务、修改图片路径在注册表中输入其条目(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\<service name>
)来更改要传递的参数,然后(重新)启动它。
以下是 Microsoft 的一个页面,解释如何使用 WMI 访问注册表:WMI 任务:注册表
答案2
我遇到了以下事情,它似乎做了我想要的事情:
sc start [服务] param1 param2 等
当然它不能直接远程访问,因此我必须找到一种方法来调用它。但这是一个好的开始 :)