在ASP网站运行在IIS上执行的schtasks(Execute schtasks in a ASP

2019-10-17 18:28发布

我在IIS上运行网站。 我需要运行从网站SchTasks.exe会。 我尝试以下

Process proc = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.FileName = @"C:\Windows\System32\schtasks.exe";
proc.StartInfo.Arguments = "/create /tn mylbat /tr MYLExe.exe /s xxx /u xxx\xxx /p xxx /sc daily;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
proc.Start();
proc.WaitForExit();

当CMD命令执行工作正常,但是当我试图执行它运行在IIS上没有任务在网站上被加入。 以及它的工作未在IIS托管的网站。

编辑我:其工作时,该网站的应用程序池标识设置为本地系统,但我需要它来工作,当网络服务。

什么东西少了!!!

Answer 1:

它不是/ u和/ p将被使用。 当从远程计算机访问它应指定/ RU和/ RP,他们应该属于具有管理员权限的用户。 该命令是如下:

            startInfo.UseShellExecute = false;
            startInfo.WorkingDirectory = @"C:\Windows\System32";
            startInfo.FileName = @"C:\Windows\System32\schtasks.exe";
            startInfo.Arguments = "/create /tn <taskname> /tr <theEXE> /ru <user> /rp <password> /sc daily ";
            startInfo.RedirectStandardError = true;
            startInfo.RedirectStandardOutput = true;
            startInfo.CreateNoWindow = false;
            startInfo.WindowStyle = ProcessWindowStyle.Hidden;
            proc = Process.Start(startInfo);


文章来源: Execute schtasks in a ASP site running on IIS