我参与的应用程序将任务添加到Windows Task Sheduler。它在Windows 7上运行正常,但在Win 8.1和Win 10上,访问被拒绝,除非使用“以管理员身份运行”。
必须使用“以管理员身份运行”权限启动应用才能创建计划任务。
我无法分享代码,因为它不属于我。无论如何,也许有人可以回答它。
我的意思是,在Windows 8.1(及更高版本)中,计划任务的权限级别已更改,并且需要管理权限。但是我找不到它的证明以及在没有管理员权限的情况下以编程方式在Windows 10中添加计划任务的任何可能的替代方案。
代码使用Microsoft.Win32.TaskScheduler lib。下面的代码被简化,以显示它的编写方式和类/参数。
var taskDefinition = Microsoft.Win32.TaskScheduler.TaskService.NewTask();
taskDefinition.Principal.LogonType = Microsoft.Win32.TaskScheduler.TaskLogonType.S4U;
taskDefinition.Principal.UserId = "";
然后它添加了动作和触发器
taskDefinition.Actions.Add(executeAction);
taskDefinition.Triggers.Add(trigger);
然后注册任务
Microsoft.Win32.TaskScheduler.TaskService.RootFolder.RegisterTaskDefinition(taskName, taskDefinition);
答案 0 :(得分:0)