日期:2014-05-18 浏览次数:21138 次
Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; // 这里是关键点,不用Shell启动/重定向输入/重定向输出/不显示窗口 p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; p.StartInfo.WorkingDirectory = "f:\\f"; string command = "cscript.exe"; p.StartInfo.Arguments = "c:\\windows\\system32\\iisapp.vbs /a \"DefaultAppPool\" " + command; p.Start(); //p.StandardInput.WriteLine("cscript.exe c:\\windows\\system32\\iisapp.vbs /a \"DefaultAppPool\""); //p.StandardInput.WriteLine("exit"); //p.WaitForExit(60000); string s = p.StandardOutput.ReadToEnd();// 得到cmd.exe的输出 p.Close();
p.WaitForExit(); if (p.HasExited) { string s = p.StandardOutput.ReadToEnd(); }
------解决方案--------------------
权限够吗?
------解决方案--------------------
(1)你的程序池名对吗? DefaultAppPool
(2)你在2003 sp1下正常而在sp2下 报什么错?
------解决方案--------------------
以前用的,SP2下不知能不能用
set WebAppPool = GetObject("IIS://LocalHost/w3svc/AppPools/DefaultAppPool")
WebAppPool.Stop
WebAppPool.Start
上面代码保存为VBS脚本文件即可.再用cscript.exe调用一下试试.
------解决方案--------------------
up
------解决方案--------------------
如果在aspnet里面的话,估计是权限问题
把这个相关的网页放到另一个有管理员权限的apppool里面(用localsystem比较方便)
------解决方案--------------------
应该是找不到cscript文件路径
试试这个
echo off if exist "%SystemRoot%\Microsoft.NET\Framework\v2.0.50727" goto netOld :DispError echo 您的机器上没有安装 .net FrameWork 2.0 pause goto LastEnd :netOld cd %SystemRoot%\Microsoft.NET\Framework\v2.0.50727 echo 您的机器上安装了相应的.net FrameWork,可以运行本脚本,按任意键继续………… echo off pause %SystemRoot%\System32\Cscript %SystemRoot%\System32\iisapp.vbs /a "DefaultAppPool" :LastEnd rem exit
------解决方案--------------------
学习一下
------解决方案--------------------
都是牛人啊。我只好闭嘴了。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
解决了吧?
------解决方案--------------------
你打开一个cmd窗口直接执行看启动没启动
------解决方案--------------------
顶!学习
------解决方案--------------------