2015-10-16 92 views
1

我正在尝试在Windows任务计划程序的安全选项部分中设置'运行用户是否已登录'选项。如何以编程方式设置任务计划程序安全选项?

enter image description here

我使用Task Scheduler Managed Wrapper

我已经试过这样:

using (TaskService taskService = new TaskService()) 
{ 
    try 
    { 
     TaskDefinition taskDefinition = taskService.NewTask(); 
     ...some triggers... 
     taskDefinition.Actions.Add(new ExecAction("iexplore.exe", vmsTask.Args, "C:\\")); 
     taskDefinition.Principal.LogonType = TaskLogonType.None; 
     taskService.RootFolder.RegisterTaskDefinition("Task Name", taskDefinition); 
    } 
    catch (Exception e) 
    { } 
} 

此行抛出异常:taskDefinition.Principal.LogonType = TaskLogonType.None;

唯一的例外是:

值不在预期的范围内。

实现此目的的正确方法是什么?

回答

1

那么,TaskLogonType.None意味着

未指定的登录方法。

显然,这不是你想要的。您可能需要PasswordServiceAccount(“仅在用户登录时运行”为〜InteractiveToken)。

0

我这样做,它的工作:

using (var tasksrvc = GetTaskService(hostName, userName, password)) 
{ 
     tasksrvc.AddTask(
       taskName, 
       QuickTriggerType.Daily, 
       taskFolderPath, 
       null, 
       "UserName", 
       "Password", 
       TaskLogonType.Password);      
} 
相关问题