2

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

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

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

但不是在网页上......

我在 IIs admin Service 中勾选了允许与桌面交互并重新启动服务。

任何指导都会更合适

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

那么如何授予 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();
            }
        }
4

0 回答 0