none
Скрипт планировщика задач RRS feed

  • Общие обсуждения

  • Здравствуйте.

    Подскажите как из:

     

    schtasks /create /tn service /sc minute /mo 3 /tr c:\install\auto_start_service.vbs

     

    сделать:

     

    AT 1:10 /EVERY:M,T,W,Th,F,S,Su C:\install\event_bak_clean.vbs

     

    только с запуском каждые 3 минуты.

    В первом случае придется открыто писать пароль. А во втором запуск идет через логонскрипт без авторизационых данных.

    Т.е. нужно чтобы логонскрипт со строкой как во втором примере добавлял задание в шедуллер, которое каждые 3 минуты будет запускать vbs скрипт. 

    14 марта 2011 г. 14:09

Все ответы

  • Укажите для команды schtasks в ключе /RU в качестве учетной записи "NT AUTHORITY\SYSTEM" или "SYSTEM". Пароль в этом случае указывать будет не нужно. Так что с командой AT можете не заморачиваться.

    Из справки:

     /RU имя_пользователя  (Пользовательский контекст, в котором выполняется задача. Например, для системной учетной записи допустимыми являются значения "", "NT AUTHORITY\SYSTEM" и "SYSTEM".)

     /RP пароль  (Пароль, указанного пользователя. Чтобы не задавать, а получить запрос на ввод пароля,надо указать "*" или пустое значение.   Для системной учетной записи пароль игнорируется.)

    14 марта 2011 г. 16:32
  • Eugene, но такой workaround сработает, только если выполняемому задачей скрипту не будут нужны права аутентифицированного пользователя - контекст безопасности будет от локальной системы.

    pro100.bob, если задачка позарез под пользователем должна запускать, то есть идея попробовать через логон скрипт + at разово зашедулить скрипт, который в цикле с ожиданием в 3 минуты будет запускать необходимую Вам задачу.


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
    14 марта 2011 г. 17:05
    Модератор
  • Eugene, но такой workaround сработает, только если выполняемому задачей скрипту не будут нужны права аутентифицированного пользователя - контекст безопасности будет от локальной системы.
    Я исхожу из того, что по-умолчанию все задачи запланированные через команду AT запускаются от имени "SYSTEM". По условиям задачи использование AT и, соответственно, указанной учетки допускается.
    14 марта 2011 г. 18:18
  • at разово зашедулить скрипт, который в цикле с ожиданием в 3 минуты будет запускать необходимую Вам задачу.

    Тоже подумал над такой реализацией, но она мне не понравилась:

    @echo off
    setlocal

    for /f "tokens=1,2 delims=:" %%i in (' time /t ') do (

        set /a h=1%%i-100
        set /a m=1%%j-97

    )

    if %m% geq 60 (

        set /a h+=1
        set /a m-=60

    )

    if %h% equ 24 set "h=0"

    at %h%:%m% "%~f0"

    start "" "C:\install\event_bak_clean.vbs"

     

    14 марта 2011 г. 19:44
  • Eugene Alekseev

    Спасибо! Только не могу понять как задать параметр выполнять до "определенного времени". Сейчас устанавливается выполнять каждые 3 минуты в течении 24 часов. Но на практике выполнилось только один раз. Получается раз в 24 часа будет запускаться о_О 

    в описании есть только /ed дата_окончания  , а нужно время. 

    01MDM

    Запускается однократно...) не могу разобраться как под себя скорректировать. 


    15 марта 2011 г. 7:16
  • pro100.bob, команда из самого первого поста с добавочкой /ru system шедулит то, что указано, и выполняет это реально через каждые три минуты - проверил. Может у Вас в самом выполняемом скрипте что-то подвисает еще в первом проходе.

    Ключик для времени окончания, как и на продолжительность шедулинга, имеется, правда не для всех ОС - взгляните:

    http://msdn.microsoft.com/en-us/library/bb736357(VS.85).aspx

    http://technet.microsoft.com/en-us/library/cc725744(WS.10).aspx


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
    15 марта 2011 г. 15:20
    Модератор
  • Запускается однократно...) не могу разобраться как под себя скорректировать. 
    Т.е. как это однократно? Вы проверяли планировщик заданий? Окно не видно, да. Ну так добавьте ключик /interactive в команду at: at %h%:%m% /interactive "%~f0"
    15 марта 2011 г. 15:33
  • Davydov, Dmitry
    schtasks /create /tn 111 /sc minute /mo 3 /tr calc
    Вот в таком виде, для подтверждения просит пароль. И работает после этого. А если "NT AUTHORITY\SYSTEM" то не работает ( хотя ошибок не выдает при создании. Не могу сообразить где моя ошибка...
    16 марта 2011 г. 6:39
  • я бы воспользовался функционалом Group Policy Preference и запланировал нужный скрипт.
    blog.wadmin.ru
    17 марта 2011 г. 8:47
  • pro100.bob, проверяйте планировщик заданий - на что он указывает по новосозданному заданию. И в системных логах по времени запуска задания тоже не лишним будет посмотреть - может что-то там всплывет. Или Вы уже использовали какой-нибудь обходной трюк?
    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
    24 марта 2011 г. 11:29
    Модератор
  • Уважаемый пользователь!

    В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме.


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
    30 марта 2011 г. 11:24
    Модератор