2015-10-16 93 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);      
} 
相關問題