C# 远程机器任务计划程序

6

我正在尝试设置一个程序,可以在远程服务器上创建任务计划。以下代码在本地机器上运行良好,但是当我尝试在远程服务器上运行时,会抛出以下错误。

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
@UnhandledExcepSean 这是Windows Server 2003。 - Karthikeyan Natarajan
找不到taskscheduler.codeplex.com。 - Kiquenet
1个回答

3
根据Microsoft文档,此功能仅支持Windows Server 2008或更高版本。
我发现了一个选项是由Microsoft提供的,但我没有尝试过。

谢谢Sean。我可能忽略了它。有什么解决方法吗..??我真的需要在服务器上设置这个时间表。 - Karthikeyan Natarajan
@KarthikeyanNatarajan 更新了答案,并提供了可能的解决方法。 - UnhandledExcepSean
我尝试使用Schtasks在远程服务器上设置定时任务,但是它产生了错误 - 请求不受支持。我使用的格式是:schtasks /run /s servername.us.domainname /u username /p password /I /TN "Test"。 - Karthikeyan Natarajan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接