C# TaskScheduler可从工作组计算机访问任务

C# TaskScheduler可从工作组计算机访问任务,c#,.net,scheduled-tasks,codeplex,windows-task-scheduler,C#,.net,Scheduled Tasks,Codeplex,Windows Task Scheduler,我正在使用Win32.TaskScheduler从我的web应用程序运行Windows计划任务,如中所述 现在,我面临的困难是,具有预定任务的机器不在网络域中。(因为我的计算机->属性显示类似于工作组:工作组)的内容,而我的web应用程序在这一行中抛出了一个错误 TaskService tasksrvc = new TaskService(server.Name, login, domain, password); 因此,如果机器在一个工作组中,这将不起作用?我没有使用它,但我猜它会起作用 在

我正在使用Win32.TaskScheduler从我的web应用程序运行Windows计划任务,如中所述

现在,我面临的困难是,具有预定任务的机器不在网络域中。(因为我的计算机->属性显示类似于工作组:工作组)的内容,而我的web应用程序在这一行中抛出了一个错误

TaskService tasksrvc = new TaskService(server.Name, login, domain, password);

因此,如果机器在一个工作组中,这将不起作用?

我没有使用它,但我猜它会起作用

在显示域的位置提供您的计算机名(不是工作组名)

您的用户是本地用户。在这种情况下,您将使用COMPUTERNAME/USERNAME而不是DOMAIN/USERNAME。
因此,我猜您必须使用您的计算机名。

包括对interop.taskscheduler.dll的引用,然后在代码中:

TaskScheduler.TaskScheduler ts = new TaskScheduler.TaskScheduler();
ts.Connect(ipaddress, "Administrator", ipaddress, "Password123");
TaskScheduler.ITaskFolder rootFolder = ts.GetFolder(@"\");
TaskScheduler.IRegisteredTaskCollection tasks = rootFolder.GetTasks(0);

foreach (TaskScheduler.IRegisteredTask rt in tasks)
{
}

我尝试了这个,但是我得到了一个“访问被拒绝(来自HRESULT的异常:0x80070005(E_ACCESSDENIED))”错误。我想这是一件好事:)。如果找不到用户,我会怀疑另一个错误消息。也许这与用户权限有关。用户是否完全可以访问pc资源和服务?我尝试使用管理员帐户,这样访问限制就不会存在了。另外,Windows防火墙中启用了远程计划任务管理,但仍会引发上述错误。有什么想法吗?嗯。。。。现在还没有。我建议创建一个小型控制台应用程序,并尝试在带有调度程序的机器上运行它。这样可以消除所有连接问题。通过这种方式,您可以知道是否必须查看连接问题或本地执行问题。您可能需要查看开源项目。该项目是专门为web应用程序调度任务而设计的,包括异步处理。和项目都存在NuGet包。源代码已打开。