2015-09-27 38 views
0

目前我正在编写构建系统的deployscript。 我有一台ec2机器,我想推我的安装程序,安装程序,然后运行程序(EXE)。该程序实际上是一个应该永远运行的服务器。我已经试过用Powershell Remoting来做这件事,但这并不令人满意,因为需要永久连接(如果PowerShell远程会话断开连接,进程终止)。远程主机上的Windows启动应用程序

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

服务器运行的是Windows 2008服务器R2

亲切的问候

回答

1

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

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

1

您可以使用PsExec从Sysinternals的,但是这是一个独立的实用程序。但是,您仍然可以将逻辑嵌入到PS脚本中。如果您仍然需要WMI,那么您可能要检查this。它包括VB脚本片段和详细的解释。

相关问题