簡體   English   中英

如何刪除計划任務

[英]How to delete schedule task

我已經使用下面的 C# 代碼在 Windows 2008 Server 中創建了計划任務。它工作正常,但是當我從 C# 代碼中刪除任務時。它顯示一條錯誤消息“訪問被拒絕。(來自 HRESULT 的異常:0X80070005(E_ACCESSDENIED)”

請檢查下面的代碼並建議如何做到這一點..創建任務:-(工作正常)

private void CreateTask(string StrTaskName,string  StrDate)
     {
         using (TaskService ts = new TaskService())
         {
             TaskDefinition td = ts.NewTask();
             td.RegistrationInfo.Description = "SMS Alert System";
             td.Principal.LogonType = TaskLogonType.InteractiveToken;

             TimeTrigger dt = (TimeTrigger)td.Triggers.Add(new   TimeTrigger());
             dt.StartBoundary = Convert.ToDateTime(StrDate);

             string doubleQuotedPath = string.Format(@"""{0}""",    StrTaskName);
             td.Actions.Add(new ExecAction(@"D:\Alert\SMSAlertSystem.exe", doubleQuotedPath, null));
             ts.RootFolder.RegisterTaskDefinition(StrTaskName, td);


         }
     }

刪除任務:-(不工作)

using (TaskService ts = new TaskService())
{
    ts.RootFolder.DeleteTask(StrtMessage.Trim());
}

您可能對流程有錯誤的許可。

  • 您的進程有權在目錄%SystemRoot%\\system32\\Tasks讀/寫嗎?
  • 如果不起作用嘗試重新啟動:
    • 任務調度服務
    • 窗戶

這有效:

using TaskService ts = new TaskService();
if (ts.GetTask(StrTaskName) != null)
{
    ts.RootFolder.DeleteTask(StrTaskName);
}

使用 StrTaskName 而不是 StrtMessage.Trim()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM