我希望我的构建服务器在目标计算机上停止iis,复制文件然后启动iis。我不想使用powershell。
我原以为我可以在目标机器上放置一个停止iis bat文件并让jenkins运行它。但我不确定这是否有效。
这是否可行,如果没有,还有其他方法可以使用PowerShell吗?
由于 [R
答案 0 :(得分:2)
不确定。使用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。