首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IIS 8( windows server 2012)无法运行批处理文件

IIS 8( windows server 2012)无法运行批处理文件
EN

Stack Overflow用户
提问于 2016-04-05 00:42:59
回答 3查看 1.3K关注 0票数 0

我正在windows server 2012上的IIS8中托管一个asp.net应用程序。这个应用程序假设执行一个批处理文件。

如果我在调试模式下使用visual studio执行应用程序,它会工作得很完美。但是,当我将其上传到IIS时,应用程序无法执行批处理文件。

我尝试用exe文件更改批处理文件。同样的问题。

假设从IIS中的应用程序(WCF应用程序)执行批处理文件:

代码语言:javascript
运行
复制
System.Diagnostics.Process proc = new System.Diagnostics.Process();
                proc.StartInfo.WorkingDirectory = @"C:\path";
                proc.StartInfo.FileName = @"C:\path\executer.bat";
                proc.Start();
                proc.Close();

请帮帮忙,

EN

回答 3

Stack Overflow用户

发布于 2016-04-05 11:39:44

您遇到的问题最有可能是权限问题。你需要检查为哪个帐户配置了运行你的应用的IIS应用程序池,以及该帐户是否有权运行你的批处理文件或该批处理文件中的命令。

在Visual Studio中运行时,您可能会以交互用户的身份运行IIS Express。

当在IIS下运行时,默认情况下你是在ApplicationPoolUser身份下运行的,它没有执行代码的权限,没有文件访问权限或其他任何东西。除非您显式地设置了另一个帐户,该帐户具有对批处理文件的适当文件访问权限以及在批处理文件内部执行命令的权限,否则您将无法从IIS中运行批处理文件。要更改这一点,请将应用程序池用户标识更改为具有读取和执行磁盘上的批处理文件的权限,并具有运行批处理文件中正在执行的内容所需的权限的用户。

票数 0
EN

Stack Overflow用户

发布于 2016-06-22 05:07:01

确保您的应用程序访问的任何文件夹或文件都具有授予AppPoolUser帐户的权限。检查应用程序的资源文件夹也很重要。例如,如果要写入日志,请确保授予appPool用户帐户足够的权限来写入该文件。

票数 0
EN

Stack Overflow用户

发布于 2016-04-05 15:41:31

您的代码运行良好。在使用.My批处理文件之前,可能在批处理文件中遇到了一些问题

代码语言:javascript
运行
复制
start "" BATCHLOG.exe

其中BATCHLOG.exe是可执行文件

有时,批处理文件仅命名为

BATCHLOG.exe

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36408293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档