如何通过进程后端c#授予iis用户执行cm的权限

时间:2013-10-25 07:56:36

标签: c# asp.net iis cmd

请告诉我如何将iis用户的权限授予cmd.exe并从服务器端代码运行命令。

我可以在本地主机上打开cmd并运行命令,但不能在网页上运行。同样适用于记事本

我已经编写了System.Diagnostics.Process.Start(“cmd”),当我在本地主机中查看页面时,这会打开一个cmd。

但不在网页上.....

我已勾选允许在IIs管理服务中与桌面交互并重启服务。

任何指导都会更加贴切

我在服务器上运行它。在serverside脚本上,我使用processStartInfo,Process来启动cmd.exe并发送一些命令。这个工作在localy(意思是如果我在localhost上查看页面)但不在网页应用程序池标识设置为网络服务。

那么如何授予newtwork服务权限以运行cmd.exe并读取输出?

这是我执行cmd及其在本地工作的代码,但不是。

  private void createCHM()
        {
            //Generate CHM File
            using (Process p = new Process())
            {
                //Open the created hhp project compiled file          
                p.StartInfo = new ProcessStartInfo("cmd", "/k \"\"" + CHMPath + "\"" + " \"" + hhpPath + "\\Contents\\" + random + ".hhp\"\"");
                //the System shell will not be used to control the process instead program will handle the process and required to redirect result
                p.StartInfo.UseShellExecute = false;
                p.StartInfo.ErrorDialog = true;
                p.StartInfo.CreateNoWindow = true; //make the the cmd window not visible : set to true
                p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; //make the cmd work behind the program : set to Hidden
                //redirect all the standard input and output to program
                p.StartInfo.RedirectStandardError = true;
                p.StartInfo.RedirectStandardInput = true;
                p.StartInfo.RedirectStandardOutput = true;
                p.Start();
            }
        }

0 个答案:

没有答案