远程计算机中的 C# 任务计划程序

Posted

技术标签:

【中文标题】远程计算机中的 C# 任务计划程序【英文标题】:C# Task Scheduler in Remote Machine 【发布时间】:2019-03-29 07:03:17 【问题描述】:

我正在尝试设置一个可以在远程服务器中创建任务计划的程序。以下代码适用于本地计算机,但是当我在远程服务器上尝试时,它会引发以下错误。

System.Runtime.InteropServices.COMException: '请求不是 支持的。 (来自 HRESULT 的异常:0x80070032)'

void SetupDailyTask()
    
        using (TaskService ts = new TaskService("servername.us.xxxxxdomain.com",
            @"domainname\username","domainname","password"))
        
            //Task tsk = ts.GetTask("DailyTask");
            //if (tsk != null)  ts.RootFolder.DeleteTask("DailyTask"); 

            //DateTime dt = DateTime.Now;
            //TimeSpan tsp = new TimeSpan(12, 44, 0);
            //dt = dt.Date + tsp;
            //ts.Execute("notepad.exe").Once().Starting(dt).AsTask("DailyTask");
        
    

我已经测试了凭据、服务器名称等,它们与远程桌面连接配合得很好。我正在使用 Microsoft.Win32.TaskScheduler 命名空间。非常感谢您提供任何帮助。

【问题讨论】:

远程机器上的操作系统是什么? @UnhandledExcepSean 它是 Windows Server 2003。 【参考方案1】:

根据Microsoft documentation,这仅在 Windows Server 2008 或更高版本上受支持。

我发现一个option是微软提供的,但我没试过。

【讨论】:

谢谢肖恩。我可能忽略了它。对此有任何解决方法..??我真的需要在服务器中设置这个时间表。 @KarthikeyanNatarajan 更新了答案并可能解决问题 我尝试了 Schtasks 在远程服务器中设置计划任务,但是它产生了错误 - 不支持请求。我使用的格式是:schtasks /run /s servername.us.domainname /u username /p password /I /TN "Test"

以上是关于远程计算机中的 C# 任务计划程序的主要内容,如果未能解决你的问题,请参考以下文章

C#创建任务计划

Windows 任务计划程序错误 101 启动失败代码 2147943785 [关闭]

如何将我的 c# 程序作为计划任务运行

您如何等待任务计划程序任务在批处理文件或 C# 中完成?

由任务计划程序启动时隐藏 C# winform 应用程序窗口

C# 计划任务系列