背景描述:
在项目开发中需要执行一条DOS命令来回收IIS应用程序池,但程序执行回收应用程序池的命令失败了,命令如下:C:\Windows\System32\inetsrv\appcmd.exe recycle apppool /apppool.name:"xueliang_trunk_web",通过调试提示如下图:
通过搜索redirection.config 由于权限不足而无法读取配置文件等关键字,各种说法都有,并没有解决我的问题
解决思路:
根据提示可以得出是因为权限问题,第一反应是要用管理员权限来执行回收命令,查询资料得知通过配置Process对象的Verb属性值为RunAs可以获得管理员权限,再次尝试结果还是如上图所示的结果。多方查询,中间还配置过项目文件夹的权限等等神操作,都没有得到解决。
这个过程中已经迷糊了,没有停下来思考一下,其实回想一下应该可以把问题定位到进程上,进程没有权限执行回收命令,不过运气好,在stackoverflow.com上面找到了答案,只需要给对应web的进程配上管理员权限就行了。操作如下:
1.找到对应的IIS应用程序池,打开高级设置
2.找到进程模型下的标识,点击后面的按钮
3.选择自定义帐号,点击设置,输入必须是管理员账户或者拥有管理员权限的账户和密码,确定保存。
4.这个时候再次运行回收命令就能看到已经成功了。