【问题标题】:Create windows Tasks programmatically using ASP.net and C# and task could not start使用 ASP.net 和 C# 以编程方式创建 Windows 任务,但任务无法启动
【发布时间】:2012-09-29 14:12:51
【问题描述】:

我需要使用 ASP.net 和 C# (Windows Server 2003) 以编程方式创建 Windows 任务。 当我使用以下代码时:

Process p = new Process();
p.StartInfo.FileName = "schtasks.exe";
p.StartInfo.Arguments = " /create /tn MyTask /tr notepad.exe /sc DAILY /st 10:00:00 /ru myUsername /rp myPassword ";
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.Start();
p.WaitForExit();

创建任务成功,但任务不执行,提示“无法启动”

还在日志文件中说: “MyTask.job”(notepad.exe)2012 年 10 月 9 日晚上 10:00 ** 错误 ** 尝试检索指定任务的帐户信息失败;因此,该任务没有运行。发生错误,或者该任务不存在帐户信息。 具体错误是:0x8004130f:在任务计划程序安全数据库中找不到指示任务的帐户信息。

当我通过控制面板/计划任务并右键单击我的任务并再次设置我的密码时,我的任务将在下次成功运行。 我能怎么做? 另外,当我将代码更改为:

    Process p = new Process();
    p.StartInfo.FileName = "schtasks.exe";
    p.StartInfo.Arguments = " /create /tn MyTask /tr notepad.exe /sc DAILY /st 10:00:00 /s system /u myUsername /p myPassword ";
    p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
    p.Start();
    p.WaitForExit();

它会犯这个错误:

错误:在本地连接上传递用户凭据

【问题讨论】:

    标签: asp.net web-applications scheduled-tasks windows-server-2003 user-permissions


    【解决方案1】:

    我宁愿使用托管的Task Scheduler Wrapper,IMO 这比盯着另一个进程更干净,在 ASP.NET 应用程序的情况下更是如此。

    但如果您仍然喜欢使用 schtasks.exe,请参阅此 SO 答案:

    https://stackoverflow.com/a/702852/351383

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 2019-02-18
      • 1970-01-01
      • 2011-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多