- 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), для этого на папке «Библиотека планировщика заданий» нажмите правую клавишу мыши и выберите пункт «Создать папку» - После этого перейдем непосредственно к созданию заданий.
На новой папке по правой клавише мыши выбираем «Создать задачу« - Указываем имя задачи, допустим «regedit» и в том же окне внизу отмечаем параметр «Выполнить с наивысшими правами«
- Переходим на вкладку «Действия«, нажимаем кнопку «Создать» и через кнопку «Обзор» выбираем файл regedit.exe.
- Собственно задача создана, но этого мало, теперь нужно сделать для нее ярлычок, не будем же мы запускать ее каждый раз из планировщика. Для этого воспользуемся стандартной утилитой командной строки 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