带有参数的Windows服务部署

时间:2014-02-14 09:00:56

标签: powershell windows-services wmi windows-server-2012

我正在尝试将Windows服务部署到远程计算机,并在服务启动时使用参数。

我有两个问题:

  1. 如何实际使用Invoke-WmiMethod(powershell)通过参数传递服务
  2. 使用参数在Windows Server 2012上启动服务。
  3. ad1)我正在发布这样的服务:

    Invoke-WmiMethod -class Win32_process -name Create -ArgumentList ("C:\PathToService\ServiceExecutable.exe install") -ComputerName RemoteComputer.local
    

    这是以这种方式完成的,因为这是可自行安装/可卸载的服务。到目前为止我尝试的是在安装像这样的服务之后获取服务对象

    $(Get-Service -ComputerName RemoteComputer.local -Name ServiceName)
    

    但未能看到如何在其上附加/修改启动参数。

    ad2)这个让我很困惑; services dialog

    这是一个正常的服务对话框,因为我记得。无论你把什么放入启动参数都应该作为args传递给服务。

    仅在 Windows Server 2012上发生这种情况不会发生!

    如果我在Windows 8下运行它 - 一切都很好。

    如果我在控制台中运行它 - 一切都很好。

    如果我通过服务管理器在Windows Server 2012下运行它 - 日志显示它无法获取args。

    如果我使用不同的帐户(网络,管理员,...),则没有任何区别。

1 个答案:

答案 0 :(得分:0)

我建议改用本地app.config

这样您就可以指定所需的所有配置,而无需使用启动参数。