Board logo

标题: 批量关闭iis站点的问题 [打印本页]

作者: maker0321     时间: 2008-5-16 16:11    标题: 批量关闭iis站点的问题
ip.txt文本内容为:
1.1.1.1,aaa.com
2.2.2.2,bbb.com
3.3.3.3,ccc.com
………………
…………
现在想要在这些服务器上,关闭这些网站。
关闭网站的命令为iisweb /stop "网站域名",但是要在服务器本地执行才可以。这样很麻烦。我想利用psexec.exe来通过一台服务器执行。写了一个批处理test.bat内容如下
for /f "tokens=1,2 delims=," %%i in (E:\closeiisweb\ip.txt) do call :slz %%i %%j
:slz
psexec \\%1 cmd.exe
iisweb /stop "%2" >>E:\closeiisweb\result.txt
可是只能执行到psexec \\%1 cmd.exe,下面的iisweb /stop "%2" >>E:\closeiisweb\result.txt就执行不了了。
请高手解答,或者分享更好的方法。谢谢

作者: Climbing     时间: 2008-5-16 22:46
psexec \\%1 iisweb /stop "%2" >> e:\closeiisweb\result.txt

作者: maker0321     时间: 2008-5-19 09:58
谢谢回帖。其实一开始我也是这么想的。但是这样执行的话,会出现“系统找不到指定的文件”,这样的错误提示。头大啊。

作者: Climbing     时间: 2008-5-19 10:03
是不是你的iisweb的路径不对啊,没有在搜索路径中,试着给它加上全路径执行,例如:
psexec \\%1 c:\tools\iisweb.exe ....

作者: maker0321     时间: 2008-5-19 10:47
psexec \\%1 c:\WINDOWS\system32\iisweb.vbs。。。。。
这样写也不行,而且iisweb.vbs这个脚本就在系统目录中。
所以我才写成
psexec \\%1 cmd.exe
iisweb /stop "%2" >>E:\closeiisweb\result.txt这种格式。但是psexec \\%1 cmd.exe是能够执行的,执行之后是进入了%1的才c:\windows\system32目录中,但是iisweb /stop "%2" 不能自动执行。

作者: Climbing     时间: 2008-5-19 10:57
那应该是这样:

psexec \\%1 cscript.exe %windir%\system32\iisweb.vbs ...

总感觉这样有点儿问题,不知道psexec的执行原理,没有用过。

你上面的方法肯定是错误的,第一条psexec命令只是在服务器上执行了一个cmd.exe,而
第二条iisweb命令照你的写法就是在本机执行了。你可以在服务器上放一个批处理,在批处理中写上执行iisweb的命令,然后用psexec执行服务器上的这个批处理即可。

作者: maker0321     时间: 2008-5-19 11:50
衷心感谢Climbing,解决了我的大难题。就是因为没有加“cscript.exe”的问题。