【问题标题】:Executing batch file from C# Permission issue从 C# 权限问题执行批处理文件
【发布时间】:2012-05-02 08:51:50
【问题描述】:

我有一个批处理文件来执行一个 VB 脚本。虽然通过双击执行批处理文件会起作用,但是当我对 C# 做了同样的事情时,它在我的本地环境中工作但不在临时服务器(Windows 服务器 2008r2)中,是否有任何权限级别我需要申请此执行.在登台服务器上,我可以双击并执行批处理文件...

我已使用管理员帐户登录服务器并以 localhost 浏览应用程序。

在从 C# 执行批处理文件时我有什么遗漏吗,

我认为我的 C# 代码没有任何问题,因为它在我的本地环境中运行良好,无论如何以下是我的 C# 代码,

if (File.Exists(FileName*))
            {
                System.Diagnostics.ProcessStartInfo p = new System.Diagnostics.ProcessStartInfo(FileName);
                System.Diagnostics.Process proc = new System.Diagnostics.Process();
                proc.StartInfo.FileName = FileName;
                proc.StartInfo.RedirectStandardError = true;
                proc.StartInfo.RedirectStandardOutput = true;
                proc.StartInfo.UseShellExecute = false;

                proc.Start();

                proc.WaitForExit();

            }
            else
            {
                lblMsg.Text = "Sorry unable to process you request";
            }

*FileName 是批处理文件的路径。我还对包含批处理文件和 vbs 文件的文件夹设置了完全权限。

【问题讨论】:

  • 我相信您必须在 IIS 中为您的应用程序池指定用户才能对批处理脚本的工作目录具有权限

标签: c# asp.net vbscript batch-file windows-server-2008-r2


【解决方案1】:

为此,您的应用程序池需要以有权访问批处理文件的用户身份运行。 检查如何更改 IIS 7IIS 6 的应用程序池标识。

【讨论】:

  • 感谢 Kartheek 的回复,我一直使用管理员帐户访问服务器,我以 localhost 访问网站。我已将应用程序池标识设置为自定义模式并设置了此管理员帐户和密码,但它仍然无法正常工作,并且我正在使用 IIS7
【解决方案2】:

扩展 Kartheek 所说的话:

  • 在 IIS 7 应用程序池中作为应用程序池帐户运行,IISAPPPOOL\AppPoolName
  • 在 IIS 6 应用程序池中以 Network Service 运行
  • 在任何一种情况下,这些帐户都无法访问用户的文档文件夹,并且(默认情况下)只能从公共数据存储中读取。

通常您希望保留应用程序池帐户,因为它有助于隔离数据——所以我要做的就是确保您授予应用程序池帐户所需的 bat 文件的读取+执行权限。您还需要对 bat 需要读取/写入的任何填充/文件夹具有适当的权限。

您无需更改应用程序中的任何内容来纠正此问题,除非您希望 IIS 应用程序伪装成实际坐在网站上的用户(只有在您使用某种形式的身份验证时它才真正起作用。 ) 通常这是个坏主意——所以最好只调整权限。

作为一般经验法则,在 Web 服务器上工作时,您希望将权限/执行级别保持在尽可能低/限制性的水平。

【讨论】:

  • 感谢 debracey 的回答,我确定这是问题所在,但我不知道如何解决这个问题。
  • 它只是像处理 Windows Server 上的任何其他文件一样操作权限,搜索“更改 NTFS 权限 [服务器版本]”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-02
相关资源
最近更新 更多