Windows 远程停止iis服务

最近遇到一个小需求,需要重启远程计算机的iis服务。 需求背景是这样的,用jenkins 做ci的时候, 由于项目是有单独的web服务器,项目虽然是一套, 但是分为A,B,C三个web系统,其中A,B系统要部署很多套,以便C使用。实现的思路就是

1.jenkin 从svn里面拉取code

2.jenkins编译并 在jenkins 服务器输出A,B,C

3.用 CIFS Publishers 的方式把ABC输出拷贝到测试环境的相应站点目录下,其中AB要拷贝很多分(有很多个站点)

Windows 远程停止iis服务

只要拷贝结束后,QA就可以看到最近部署结果。

可是如果有人正在访问测试环境,这个时候同步文件肯定会失败的。如果在同步前 强制停止远程服务器的iis, 同步后再启动, 这样拷贝文件 失败的概率又要小很多了。我这里用的是psexec 来实现控制远程计算机服务。

psexec \\192.168.0.xxx -u Administrator -p xxxx cmd

iisreset /stop
iisreset /start

当然在jenkins 可以这样用psexec \\192.168.0.xxx -u Administrator -p xxx iisreset /stop

有关远程控制大家可以参考

Three ways to run remote Windows commands

上一篇:内网穿透神器(ngrok)服务端部署【分享一台自己的ngrok服务器】【多平台】


下一篇:剑指Offer——知识点储备-J2EE基础