text: import pythoncom, time, win32api
  from win32com.taskscheduler import taskscheduler
  
  task_name = "test_addtask_2.job"
  ts = pythoncom.CoCreateInstance(
      taskscheduler.CLSID_CTaskScheduler,
      None,
      pythoncom.CLSCTX_INPROC_SERVER,
      taskscheduler.IID_ITaskScheduler,
  )
  tasks = ts.Enum()
  for task in tasks:
      print(task)
  if task_name in tasks:
      print("Deleting existing task " + task_name)
      ts.Delete(task_name)
  
  t = ts.NewWorkItem(task_name)
  t.SetComment("Test a task running as local system acct")
  t.SetApplicationName("c:\\python23\\python.exe")
  t.SetPriority(taskscheduler.REALTIME_PRIORITY_CLASS)
  t.SetParameters("test_localsystem.py")
  t.SetWorkingDirectory("c:\\python23")
  t.SetCreator("test_addtask_2.py")
  t.SetMaxRunTime(20000)  # milliseconds
  t.SetFlags(taskscheduler.TASK_FLAG_DELETE_WHEN_DONE)
  t.SetAccountInformation(
      "", None
  )  ## empty string for account name means to use local system
  ## None is only valid for local system acct or if task flags contain TASK_FLAG_RUN_ONLY_IF_LOGGED_ON
  
  run_time = time.localtime(time.time() + 60)
  tr_ind, tr = t.CreateTrigger()
  
  tt = tr.GetTrigger()
  tt.Flags = 0  ## flags for a new trigger default to TASK_TRIGGER_FLAG_DISABLED (4), make sure to clear them if not using any
  tt.TriggerType = taskscheduler.TASK_TIME_TRIGGER_ONCE
  tt.BeginYear = int(time.strftime("%Y", run_time))
  tt.BeginMonth = int(time.strftime("%m", run_time))
  tt.BeginDay = int(time.strftime("%d", run_time))
  tt.StartMinute = int(time.strftime("%M", run_time))
  tt.StartHour = int(time.strftime("%H", run_time))
  
  tr.SetTrigger(tt)
  print(t.GetTriggerString(tr_ind))
  
  pf = t.QueryInterface(pythoncom.IID_IPersistFile)
  pf.Save(None, 1)
  