2014-12-04 110 views
1

我想让我的构建服务器在目标机器上停止iis,复制文件然后启动iis。我想不使用PowerShell。是否有可能在远程服务器上执行bat文件来停止iis

我在想我可以在目标机器上放一个iis bat文件并让jenkins运行它。但我不确定这是否可行。

这是可能的,如果不是有一些其他的方式来做到这一点与使用PowerShell?

谢谢 r

回答

1

当然。使用wmic

wmic /node:servername /user:domain\admin /password:adminpass service where 'name="W3SVC" or name="iisadmin"' call stopservice 
:: copy files 
wmic /node:servername /user:domain\admin /password:adminpass service where 'name="W3SVC" or name="iisadmin"' call startservice 

无论如何,我认为是正确的。我没有安装IIS,所以我对服务名称并不积极。

或者,如果从该脚本生成服务器上运行的背景下已经在远程服务器上管理员权限,你可以只使用

sc \\servername stop W3SVC 
sc \\servername stop IISadmin 

等做sc /?wmic service /?以获取更多信息。当然,请考虑硬编码域管理员用户名并传入文本批处理文件的风险。

编辑:Some people suggest停止/启动IIS的最佳方法是使用iisreset.exe。所以请尝试

iisreset servername /stop 
:: copy stuff 
iisreset servername /start 

这对于ServerFault可能是一个更好的问题。这不是一个真正的编码问题。

此外,这个问题appears to be a duplicate

相关问题