none
Описание задания в Schtasks RRS feed

  • Вопрос

  • Создаю задачу через командую строку в Windows 2008 server. Как можно добавить описание к создаваемой задаче, чтобы оно было видно при открытии в Плнировщике задач.

    Schtasks.exe /create /RU "" /SC DAILY /TN Draft  /TR C:\123.exe /description bla-bla

Ответы

  • Параметр /xml  представлен, который выполняет данную задачу. Конкретно параметра /description -  нет, как собственно многих других.

    Поэтому либо не используем этот параметр, либо реализуем сторонними средствами для его заполнения.

    Еще один пример формирования xml, но используя опять же PowerShell - http://activelydirect.blogspot.ru/2011/02/scheduling-tasks-in-powershell-for_22.html
    • Изменено KazunEditor 9 июля 2014 г. 13:07
    • Помечено в качестве ответа KazunEditor 29 июля 2014 г. 7:36
    9 июля 2014 г. 12:39
    Отвечающий

Все ответы

  • Сделать импорт задания через xml:

    1) Создать задания выше на тестовом компьютере

    2) Сделать экспорт задания в xml и поправить пункт Description

    Schtasks.exe /query /tn "TaskName" /xml

    3)  Создать задачу используя параметр /xml

    /XML  <файл_xml>   Создание задачи из указанного файла XML.
                       Нельзя сочетать с переключателями /RU и /RP или /RP
                       один, если XML-файл задачи уже содержит субъекта.

    Отвечающий
  • Спасибо за ответ.

    К сожалению, хотелось бы обойтись без создания XML, т.к. моя команда будет в составе скрипта. 

    9 июля 2014 г. 10:03
  • А в чем проблема создать и поправить файл xml в скрипте?

    На PowerShell можно создать скрипт используя xml:

    $taskName = "Draft"
    $cred = Get-Credential
     
    $xml = @"
    <?xml version="1.0" encoding="UTF-16"?>
    <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
      <RegistrationInfo>
        <Date>2014-07-09T10:00:00</Date>
        <Author>$($cred.UserName)</Author>
        <Description> Draft</Description>
      </RegistrationInfo>
      <Triggers>
        <CalendarTrigger>
          <StartBoundary>2000-01-01T10:00:00</StartBoundary>
          <Enabled>true</Enabled>
          <ScheduleByDay>
            <DaysInterval>1</DaysInterval>
          </ScheduleByDay>
        </CalendarTrigger>
      </Triggers>
      <Settings>
        <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
        <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
        <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
        <AllowHardTerminate>true</AllowHardTerminate>
        <StartWhenAvailable>false</StartWhenAvailable>
        <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
        <IdleSettings>
          <Duration>PT10M</Duration>
          <WaitTimeout>PT1H</WaitTimeout>
          <StopOnIdleEnd>true</StopOnIdleEnd>
          <RestartOnIdle>false</RestartOnIdle>
        </IdleSettings>
        <AllowStartOnDemand>true</AllowStartOnDemand>
        <Enabled>true</Enabled>
        <Hidden>false</Hidden>
        <RunOnlyIfIdle>false</RunOnlyIfIdle>
        <WakeToRun>false</WakeToRun>
        <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
        <Priority>7</Priority>
      </Settings>
      <Actions Context="Author">
        <Exec>
          <Command>C:\123.exe</Command>
        </Exec>
      </Actions>
      <Principals>
        <Principal id="Author">
          <UserId>$($cred.UserName)</UserId>
          <LogonType>InteractiveToken</LogonType>
          <RunLevel>LeastPrivilege</RunLevel>
        </Principal>
      </Principals>
    </Task>
    "@
    
    $taskScheduler = New-Object -ComObject Schedule.Service
    $taskScheduler.Connect() 
    $taskFolder = $taskScheduler.GetFolder("")
    $value = $taskFolder.RegisterTask($taskName, $xml, 6, $cred.UserName, $cred.GetNetworkCredential().Password, 1, $null)

    9 июля 2014 г. 12:05
    Отвечающий
  • Да, можно объединить xml и powershell и сделать то, что надо по моей задаче. 

    Но более лаконично выглядит команда Schtasks.exe /create /RU "" /SC DAILY /TN Draft  /TR C:\123.exe. Хотелось бы ее такой и оставить. Неужели для данной команды просто не придумали дополнительный аргумент, чтобы сразу в командной строке добавить описание.

    Согласен, что это не очень часто приходится в задание добавлять его описание , но если что-то делать - то хочу сделать сразу красиво.

    9 июля 2014 г. 12:16
  • Параметр /xml  представлен, который выполняет данную задачу. Конкретно параметра /description -  нет, как собственно многих других.

    Поэтому либо не используем этот параметр, либо реализуем сторонними средствами для его заполнения.

    Еще один пример формирования xml, но используя опять же PowerShell - http://activelydirect.blogspot.ru/2011/02/scheduling-tasks-in-powershell-for_22.html
    • Изменено KazunEditor 9 июля 2014 г. 13:07
    • Помечено в качестве ответа KazunEditor 29 июля 2014 г. 7:36
    9 июля 2014 г. 12:39
    Отвечающий