Windows在远程主机上启动应用程序

时间:2015-09-27 23:46:09

标签: windows powershell deployment amazon-ec2

目前我正在为我们的构建系统编写一个deployscript。 我有一台ec2机器,我想将我的安装程序推送到,安装程序,然后运行程序(exe)。该程序实际上是一个应该永远运行的服务器。我已经尝试使用Powershell Remoting执行此操作,但这并不令人满意,因为需要永久连接(如果powershell远程会话断开连接,则进程终止)。

现在我正在调查Invoke-WMIObject,这真的是最好的方法,还是我错过了一些明显的东西? 要求是整个构建过程可以从powershell脚本(由我们的构建服务器执行)运行。

服务器正在运行Windows 2008 Server R2

亲切的问候

2 个答案:

答案 0 :(得分:1)

您可以使用SysInternals中的PsExec,但这是一个独立的实用程序。但是,您仍然可以在PS脚本中嵌入逻辑。如果您仍然需要WMI,那么您可能需要检查this。它包括VB脚本的片段以及如何做的详细说明。

答案 1 :(得分:1)

您可以将服务器程序作为Windows服务运行 - 只需使用一个可用的免费服务包装实用程序(如nssm)进行包装即可。通过运行Stop-Service& nssm remove& nssm installStart-Service,您可以使用PSRemoting在远程服务器上重新创建和启动服务。

或者(尽管可能在构建中不太容易管理),您可以使用Scheduled Tasks Cmdlets在任务计划程序中远程创建和运行任务。