Windows 远程停止iis服务
2016-12-31 14:27
281 查看
最近遇到一个小需求,需要重启远程计算机的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要拷贝很多分(有很多个站点)
只要拷贝结束后,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
我测试的时候搭建了两套jenkins 环境,在jenkins里面运行该命令。一套运行psexec 是ok的,一套运行时老是报错误, 主要信息是:
还遇到说句柄无效。 后来在网上找到了解决方案:http://www.it1352.com/329158.html 修改jenkins的登录账号
在实际测试环境中,由于有很多项目,所以很多时候不是重启IIS,而是停用应用程序池->拷贝文件->然后再启动应用程序池
D:\NodeJS\psexec \\192.168.0.12X -u Administrator -p XXX c:\windows\system32\inetsrv\AppCmd.exe stop apppool /apppool.name:"xxx"
jenkins CIFS Publishers 拷贝文件
D:\NodeJS\psexec \\192.168.0.12X -u Administrator -p XXX c:\windows\system32\inetsrv\AppCmd.exe start apppool /apppool.name:"xxx"
1.jenkin 从svn里面拉取code
2.jenkins编译并 在jenkins 服务器输出A,B,C
3.用 CIFS Publishers 的方式把ABC输出拷贝到测试环境的相应站点目录下,其中AB要拷贝很多分(有很多个站点)
只要拷贝结束后,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
我测试的时候搭建了两套jenkins 环境,在jenkins里面运行该命令。一套运行psexec 是ok的,一套运行时老是报错误, 主要信息是:
This is the first run of this program. You must accept EULA to continue. Use -accepteula to accept EULA.
还遇到说句柄无效。 后来在网上找到了解决方案:http://www.it1352.com/329158.html 修改jenkins的登录账号
在实际测试环境中,由于有很多项目,所以很多时候不是重启IIS,而是停用应用程序池->拷贝文件->然后再启动应用程序池
D:\NodeJS\psexec \\192.168.0.12X -u Administrator -p XXX c:\windows\system32\inetsrv\AppCmd.exe stop apppool /apppool.name:"xxx"
jenkins CIFS Publishers 拷贝文件
D:\NodeJS\psexec \\192.168.0.12X -u Administrator -p XXX c:\windows\system32\inetsrv\AppCmd.exe start apppool /apppool.name:"xxx"
相关文章推荐
- Windows 远程停止iis服务 jenkins psexec
- Windows 2008 R2 core 安装并远程管理IIS服务
- C#制作Windows service服务系列一:制作一个可安装、可启动、可停止、可卸载的Windows service(downmoon原创)
- windows 2003 终端服务超出最大允许连接数(远程桌面,解决办法)
- IIS Admin Service 服务因 2149647636 (0x80210514) 服务性错误而停止
- 打开Windows 2003远程桌面连接服务的方法
- IIS服务在启动"默认网站(停止)"时显示"发生意外错误0x8ffe2740",
- 将windows服务在远程计算机上运行
- 停止IIS站点的代码(不是停IISAdmin服务)
- 打开Windows 2003远程桌面连接服务的方法
- 4.3 遇到自己的工作机IIS无法启动,提示World Wide Web Publishing 服务因下列错误而停止: 资源不足,无法完成该操作。
- 请教:Windows服务能访问远程SQL Server 2000吗?
- 让服务不再停止(在Windows Service中使用Timer的技巧)
- 将windows服务在远程计算机上运行
- 远程启动终端服务的windows脚本ROTS.vbs
- 在 windows 服务中驻留远程对象
- Windows Firewall/Internet Connection Sharing (ICS) 服务因下列错误而停止: 拒绝访问(ZZ)
- Windows Server 管理员口令变更后会导致部分服务和IIS停止工作