Меню

Schtasks ошибка не удается найти указанный файл

  • Remove From My Forums
  • Общие обсуждения

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

    Пытаюсь создать задание с командного файла для автообновления одной программы. Задание должно запустить с административными правами (с повышением) CMD-файл из папки “%WinDir%” при входе любого пользователя в систему.
    В Windows 7 всё замечательно работает, а вот в Windows 10 — нет. Проблема именно в создании задания. Для пояснения ситуации воспользовался тестовым вариантом. 

    Командный файл (Test.cmd) для создания задания запускаю из административной учетной записи (“AA”) с повышением прав. Файл “Check.cmd” уже находится в нужном месте. Код файла “Test.cmd”: 

    SetLocal EnableExtensions EnableDelayedExpansion

    SCHTASKS /Delete /TN «Check» /F

    SCHTASKS /Create /RU AA /RP * /TN «Check» /TR «%WinDir%Check.cmd» /SC ONLOGON /RL HIGHEST

    SCHTASKS /Create /RU System /TN «Check» /TR «%WinDir%Check.cmd» /SC ONLOGON /RL HIGHEST

    В Windows 7 результат такой:

    SetLocal EnableExtensions EnableDelayedExpansion

    SCHTASKS /Delete /TN «Check» /F
    ОШИБКА: Не удается найти указанный файл.

    SCHTASKS /Create /RU AA /RP * /TN «Check» /TR «C:WindowsCheck.cmd» /SC ONLOGON /RL HIGHES

    Введите пароль для AA: ******

    УСПЕХ. Запланированная задача «Check» была успешно создана.

    SCHTASKS /Create /RU System /TN «Check» /TR «C:WindowsCheck.cmd» /SC ONLOGON /RL HIGHEST
    Предупреждение. Задание с именем «Check» уже существует. Заменить (Y/N)? y
    УСПЕХ. Запланированная задача «Check» была успешно создана.

    А вот в Windows 10 так:

    SetLocal EnableExtensions EnableDelayedExpansion

    SCHTASKS /Delete /TN «Check» /F
    УСПЕХ. Запланированная задача «Check» была успешно удалена.

    SCHTASKS /Create /RU AA /RP * /TN «Check» /TR «C:WindowsCheck.cmd» /SC ONLOGON /RL HIGHEST

    Введите пароль для AA: ******

    ОШИБКА: XML-код задачи содержит значение в неправильном формате или за пределами допустимого диапазона.
    (44,4):Task:

    SCHTASKS /Create /RU System /TN «Check» /TR «C:WindowsCheck.cmd» /SC ONLOGON /RL HIGHEST
    УСПЕХ. Запланированная задача «Check» была успешно создана.

    ОС: Windows 7 Ult x64 SP1 Ru и Windows 10 Pro x64 Ru. Обе активированы (лицензии) и полностью обновлены. 

    И ещё интересная особенность. При попытке удалить задание, которого заведомо нет, Windows 7 прямо об этом пишет, а вот Windows 10 рапортует об успешном удалении. 

    Если вместо пользователя прописывать систему, то все создается. Именно так я пока и сделал. А если нужно запускать от пользователя, как быть? В чём может быть проблема? 

    • Изменен тип

      22 августа 2016 г. 8:29
      обсуждение

Здравствуйте, подскажите почему не работает планировщик, при запуске долго думал не включался, нашел sheduler.exe запустил теперь планировщик запускается но задания не выполняет тупо загружает задание по полчаса и ничего не делает. вот лог
[00:21:27] Run started …
[00:21:27] Installing into : C:/Users/DmitryC/AppData/Local/TaskScheduler
[00:21:27] Version : 1.5.0
[00:21:27] Console encoding : cp866
[00:21:27] Install started …
[00:21:27] Making root directory : success
[00:21:27] Removing corrupted versions started …
[00:21:27] Removing corrupted versions finished
[00:21:27] No installation needed, already installed
[00:21:27] Latest version : 1.5.0
[00:21:27] Schedule started …
[00:21:27] Checking if any version is scheduled …
[00:21:27] Running schtasks.exe /Query /FO CSV /tn TaskSchedulerApplication /V
[00:21:27] Result :
ОШИБКА: Не удается найти указанный файл.

[00:21:27] No version is scheduled
[00:21:27] Current username : DMITRYDmitryC
[00:21:27] Scheduler.exe location : C:/Users/DmitryC/AppData/Local/TaskScheduler/1.5.0/Scheduler.exe
[00:21:27] Running schtasks.exe /Create /tn TaskSchedulerApplication /xml C:/Users/DmitryC/AppData/Roaming/BrowserAutomationStudio/apps/23.1.0/Scheduler.xml
[00:21:27] Result :
ОШИБКА: Сопоставление между именами пользователей и идентификаторами безопасности не было произведено.

(6,32):UserId:DMITRYDmitryC
[00:21:27] Schedule finished …
[00:21:27] Install finished
[00:21:27] Started scheduler
[00:21:27] Running schtasks.exe /Run /tn TaskSchedulerApplication
[00:21:27] Result :
ОШИБКА: Не удается найти указанный файл.

[00:21:27] Start browser : C:/Users/DmitryC/AppData/Local/TaskScheduler/1.5.0/Scheduler.exe —browser
[00:21:27] Run finished

Hello,

I’m trying to define a scheduled task during setup of Windows Server 2016 TP4. I created an unattend.xml file with a <runsynchronous …> entry during the specialize pass:

    <settings pass="specialize">
    ....
        <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <RunSynchronous>
                <RunSynchronousCommand wcm:action="add">
                    <Order>1</Order>
                    <Path>cmd /c C:TempRunHello.cmd</Path>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>

Here is the RunHello.cmd:

echo RunHello.cmd >C:TempRunHello.log 2>&1
echo Path = %PATH% >>C:TempRunHello.log 2>>&1
echo Username = %USERNAME% >>C:TempRunHello.log 2>>&1
schtasks.exe /Create /SC ONSTART /TN "MicrosoftWindowsDesired State ConfigurationRestartBootTask" /RU System /F /TR "PowerShell.exe -ExecutionPolicy RemoteSigned -File C:TempHello.ps1" >>C:TempRunHello.log 2>>&1
echo schtasks.exe returned %errorlevel% >>C:TempRunHello.log 2>>&1

Windows setup then runs without any issue, however the scheduled task is not created. In the RunHello.log file I can see an error from schtask.exe:

RunHello.cmd 
Path = C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0 
Username = SYSTEM 
ERROR: The system cannot find the file specified.

schtasks.exe returned 1 

When I do the same with Windows Server 2012 R2 everything works as it should:

RunHello.cmd 
Path = C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0 
Username = SYSTEM 
SUCCESS: The scheduled task "MicrosoftWindowsDesired State ConfigurationRestartBootTask" has successfully been created.
schtasks.exe returned 0 

the scheduled task is created and executed before the first logon screen.

So it seems to me that there is a bug in TP4 of Server 2016 with schtasks.exe during unattend setup.

BTW: If I start the RunHello.cmd batch manually after the first login in Server 2016 TP4 schtasks.exe runs without any errors and creates the scheduled task.

Any idea what goes wrong here?

Gerhard

Hello,

I’m trying to define a scheduled task during setup of Windows Server 2016 TP4. I created an unattend.xml file with a <runsynchronous …> entry during the specialize pass:

    <settings pass="specialize">
    ....
        <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <RunSynchronous>
                <RunSynchronousCommand wcm:action="add">
                    <Order>1</Order>
                    <Path>cmd /c C:TempRunHello.cmd</Path>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>

Here is the RunHello.cmd:

echo RunHello.cmd >C:TempRunHello.log 2>&1
echo Path = %PATH% >>C:TempRunHello.log 2>>&1
echo Username = %USERNAME% >>C:TempRunHello.log 2>>&1
schtasks.exe /Create /SC ONSTART /TN "MicrosoftWindowsDesired State ConfigurationRestartBootTask" /RU System /F /TR "PowerShell.exe -ExecutionPolicy RemoteSigned -File C:TempHello.ps1" >>C:TempRunHello.log 2>>&1
echo schtasks.exe returned %errorlevel% >>C:TempRunHello.log 2>>&1

Windows setup then runs without any issue, however the scheduled task is not created. In the RunHello.log file I can see an error from schtask.exe:

RunHello.cmd 
Path = C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0 
Username = SYSTEM 
ERROR: The system cannot find the file specified.

schtasks.exe returned 1 

When I do the same with Windows Server 2012 R2 everything works as it should:

RunHello.cmd 
Path = C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0 
Username = SYSTEM 
SUCCESS: The scheduled task "MicrosoftWindowsDesired State ConfigurationRestartBootTask" has successfully been created.
schtasks.exe returned 0 

the scheduled task is created and executed before the first logon screen.

So it seems to me that there is a bug in TP4 of Server 2016 with schtasks.exe during unattend setup.

BTW: If I start the RunHello.cmd batch manually after the first login in Server 2016 TP4 schtasks.exe runs without any errors and creates the scheduled task.

Any idea what goes wrong here?

Gerhard

Невзирая на некоторые неудобства UAC, этой функцией пользуются все чаще, тем более в среде организации, где загубленная система и ее последующая переустановка гораздо более неприятна и чревата последствиями чем на домашнем компьютере. Тем не менее регулярный запуск командной строки, оснасток, редактора политик или реестра иногда просто-таки удручает запросом на повышение прав. Для таких регулярных задач и предназначен способ, который я опишу ниже.

Для запуска с повышением прав и без запроса на это самое повышение мы будем использовать Планировщик заданий.

  • Открываем Планировщик заданий: Пуск — Все программы — Стандартные — Служебные
    Сначала, для удобства, создадим отдельную папку для будущих заданий (в моем случае это папка MyTasks), для этого на папке «Библиотека планировщика заданий» нажмите правую клавишу мыши и выберите пункт «Создать папку»
    shed1
  • После этого перейдем непосредственно к созданию заданий.
    На новой папке по правой клавише мыши выбираем «Создать задачу«
    shed2
  • Указываем имя задачи, допустим «regedit» и в том же окне внизу отмечаем параметр «Выполнить с наивысшими правами«
    shed3
  • Переходим на вкладку «Действия«, нажимаем кнопку «Создать» и через кнопку «Обзор» выбираем файл regedit.exe.
    shed4
  • Собственно задача создана, но этого мало, теперь нужно сделать для нее ярлычок, не будем же мы запускать ее каждый раз из планировщика. Для этого воспользуемся стандартной утилитой командной строки schtasks.exe, которая и позволит нам свершить задуманное.
    Создаем новый ярлык (на рабочем столе или в панели быстрого запуска — как вам удобнее) и в строке размещения объекта указываем следующую строку

    schtasks.exe /run /tn regedit

    Где regedit = имя добавленного в планировщик задания.
    Синтаксис, поддерживаемый утилитой schtasks.exe вы можете узнать по команде schtasks /?

Отталкиваясь от этого примера можно создать ярлыки для запуска различных оснасток, которые используются чаще других, но с оснастками MMC нужно учитывать одну особенность, а именно: при создании задания в планировщике в окне указания действия для задачи нужно указывать следующим образом

В данном примере это строка запуска оснастки Службы.

Вот список некоторых оснасток, которые чаще всего используются (у меня по крайней мере 🙂

Оснастка Описание
gpedit.msc Редактор групповой политики
secpol.msc Редактор локальной политики
lusrmgr.msc Локальные пользователи и группы
services.msc Службы
diskmgmt.msc Управление дисками
compmgmt.msc Управление компьютером
fsmgmt.msc Общие папки
perfmon.msc Монитор надежности и производительности
eventvwr.msc Просмотр событий
certmgr.msc Сертификаты
msconfig.exe Настройка системы
control schedtasks Планировщик заданий
wmimgmt.msc Инфраструктура управления
utilman.exe Диспетчер служебных программ

ТЛ; др: Если вы получаете эту ошибку при работе в качестве учетной записи службы, не устанавливайте для параметра «Если задача уже запущена…» значение «Остановить существующий экземпляр». Используйте любой из трех других вариантов.

Я тоже боролся с этой ошибкой, и мое решение оказалось кроличьей норой с неожиданной причиной, поэтому я подумал, что поделюсь, если это поможет кому-то другому.

В моем конкретном случае у меня есть запланированные задачи, которые запускаются как учетная запись службы. Чтобы изменить задачу, я вношу изменения, сохраняю пользователя runas как меня, а затем использую командную строку, чтобы изменить пользователя runas на учетную запись службы. Когда пользователем являюсь я, задача выполняется нормально, но как только я меняю пользователя runas на учетную запись службы, я получаю ту же ошибку:

«Системе не удается найти указанный файл. (0x8007002)»

Способ устранения неполадок заключался в том, что я экспортировал xml из одной, которая работала как учетная запись службы, и другой, которая не работала, затем сравнивал их и делал небольшие изменения в xml и импортировал их обратно, пока не определил единственный параметр, который вызывал ошибку. проблема. Оказалось, что это под <Settings>:

<MultipleInstancesPolicy>StopExisting</MultipleInstancesPolicy>

Если я выберу любой из трех других вариантов, проблема исчезнет, ​​и учетная запись службы сможет выполнять задачу без каких-либо проблем:
Планировщик заданий — не выбирайте этот параметр.

Что касается того, почему это происходит, я считаю, что это просто ошибка в графическом интерфейсе Windows, из-за которой выбор «Остановить существующий экземпляр» на самом деле может не поддерживаться. это похоже на подтверждается этим ответом к другому вопросу.

Информация о файле Описание
Размер файла: 179 kB
Дата и время изменения файла: 2017:03:18 18:19:01+00:00
Дата и время изменения индексного дескриптора файлов: 2017:11:05 07:07:54+00:00
Тип файла: Win32 EXE
Тип MIME: application/octet-stream
Предупреждение! Possibly corrupt Version resource
Тип компьютера: Intel 386 or later, and compatibles
Метка времени: 2040:11:21 14:34:14+00:00
Тип PE: PE32
Версия компоновщика: 14.10
Размер кода: 143360
Размер инициализированных данных: 40448
Размер неинициализированных данных: 0
Точка входа: 0x1fb70
Версия ОС: 10.0
Версия образа: 10.0
Версия подсистемы: 10.0
Подсистема: Windows command line
Номер версии файла: 10.0.15063.0
Номер версии продукта: 10.0.15063.0
Маска флагов файлов: 0x003f
Флаги файлов: (none)
Файловая ОС: Windows NT 32-bit
Тип объектного файла: Executable application
Подтип файла: 0
Код языка: English (U.S.)
Набор символов: Unicode
Наименование компании: Microsoft Corporation
Описание файла: Task Scheduler Configuration Tool
Версия файла: 10.0.15063.0 (WinBuild.160101.0800)
Внутреннее имя: schtasks.exe
Авторское право: © Microsoft Corporation. All rights reserved.
Оригинальное имя файла: sctasks.exe
Название продукта: Microsoft® Windows® Operating System
Версия продукта: 10.0.15063.0

Фрагменты данных файлов предоставлены участником Exiftool (Phil Harvey) и распространяются под лицензией Perl Artistic.

Я попытался добавить планировщик задач из taskscheduleR в rstudio, но он выдает эту ошибку;

Предупреждение: запущенная команда ‘schtasks /Delete /TN «script1.R» /F’ имела статус 1 Создание расписания задач: schtasks /Create /TN «script1.R» /TR «cmd /c C:/PROGRA~1/MICROS~ 3/srv~1/R_SERVER/bin/Rscript.exe «C:/Users/user1/Desktop/script1.R» >> «C:/Users/user1/Desktop/script1.log» 2>&1 «/СК ОДИН РАЗ /СТ 23:40

Как я могу это решить?

1 ответ

Возможно дело в настройках локали. Я столкнулся с той же проблемой, и я использовал планировщик задач, чтобы настроить задание на будущую дату (01-01-2020). Задание установлено успешно. Затем я перешел к планировщику заданий Windows и изменил начальную дату так, как хотел (например, 19-09-2019).


0

nba2020
19 Сен 2019 в 09:58

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Schneider electric m171 коды ошибок контроллер
  • Schneider electric lxm32md18n4 ошибки