我想看看我是否可以从 asp.net-mvc 站点管理一堆 Windows 计划任务(设置新任务、更新现有任务的频率等),因为我们希望允许非技术用户更新此信息(所以我们希望避免人们直接登录网络服务器等)
我发现您通常可以从 C# 执行此操作(下面的链接),但不确定权利等是否可以通过网络应用程序进行管理。
-
http://code.msdn.microsoft.com/windowsdesktop/CSTaskScheduler-2f70d723 http://code.msdn.microsoft.com/windowsdesktop/CSTaskScheduler-2f70d723
- 创建计划任务 https://stackoverflow.com/questions/7394806/creating-scheduled-tasks
如果无法通过网络实现,是否还有其他“远程”选项,以便人们可以在不进入特定框的情况下完成此操作?
是的,您可以,只需使用位于 C:\Windows\SysWOW64\ 中的taskschd.dll即可
只需将其引用到您的网络应用程序并像这样使用它
using TaskScheduler;
namespace Test
{
public class Class1
{
public void Test()
{
var taskService = new TaskScheduler.TaskScheduler();
taskService.Connect();
var rootFolder = taskService.GetFolder(@"\");
var registeredTasks = rootFolder.GetTasks(0);
foreach (var registeredTask in registeredTasks)
{
}
}
}
}
为了向您证明它的运行,这里是从网页调用的运行代码的屏幕截图
正如你从我的机器上看到的,我从任务调度程序中获取了 5 个项目。
顺便说一句,我在我的博客中为您创建了整篇文章,介绍如何:
- 获取所有计划任务
- 创建/更新计划任务
- 删除计划任务
in here http://macaalay.com/2013/10/02/programmatic-management-of-scheduled-task/ http://macaalay.com/2013/10/02/programmatic-management-of-scheduled-task/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)