Содержание
-
АННОТАЦИЯ
-
-
Проверка состояния задачи
-
Проверка журнала назначенных заданий
-
Проверка службы планировщика заданий
-
Аннотация
В статье приводится пошаговое описание устранений неполадок, связанных с назначенными заданиями в Windows XP и Windows Server 2003. Если назначенные задания не запускаются, для поиска источника проблем можно применить ряд способов.
Примечание. Администраторы и пользователи с полномочиями администраторов могут настроить планировщик заданий на отправку уведомления, если назначенное задание не запустилось так, как было запланировано. Для этого щелкните Уведомлять о пропущенных заданиях в меню Дополнительно.
Проверка состояния задачи
Периодически проверяйте состояние назначенных заданий, поскольку иногда можно не заметить, что назначенное задание не запускается. С помощью пункта «Подробно» окна назначенных заданий просмотрите следующие сведения о каждом задании:
-
Расписание — Расписание запуска задания.
-
Время следующего запуска — время и дата следующего запуска задания.
-
Время прошлого запуска — время и дата предыдущего запуска задания.
-
Состояние — Текущее состояние задания.
-
Прошлый результат — Код выполнения последнего запуска.
Столбец Состояние содержит следующие сведения о состоянии и описание:
-
Пусто — Задание не запущено или было запущено и выполнено успешно.
-
Работает — Задание запущено.
-
Пропущено — Пропущена одна или несколько попыток запустить задание.
-
Запуск не удался — Предыдущая попытка запустить задание не удалась.
Столбец Прошлый результат показывает код выполнения. Полное описание всех кодов завершения Windows можно найти в MSDN, но обычные коды для назначенных заданий следующие:
-
0x0: Операция выполнена успешно.
-
0x1: Вызов неверной или неизвестной функции.
-
0xa: Ошибка в среде.
Если формат кода завершения «C0000XXX», задание не было успешно завершено («C» указывает на ошибку). Наиболее распространенный код завершения с «C» — «0xC000013A: Приложение завершено из-за нажатия сочетания клавиш CTRL+C».
Также проверьте следующие данные в свойствах задания:
-
Убедитесь, что установлен флажок, включающий выполнение задания.
-
Проверьте правильность пути к программе. Кроме того, проверьте, не требует ли программа для запуска каких-либо отсутствующих параметров командной строки.
Проверка журнала назначенных заданий
Назначенные задания фиксируются в файле журнала (Schedlgu.txt) в папке c:Windows. Журнал можно просмотреть из окна назначенных заданий, выбрав Просмотр журнала в меню Дополнительно.
Размер файла журнала 32 килобайта (КБ), после достижения максимального размера автоматически начинается запись с начала журнала поверх старых данных.
Проверка службы планировщика заданий
Для запуска заданий служба планировщика заданий должна быть запущена и правильно настроена. При остановке назначенных заданий вручную из окна назначенных заданий служба останавливается и не включается автоматически при следующем запуске компьютера. Если служба не настроена на запуск с использованием локальной системной учетной записи, она может не запуститься.
Проверка параметров службы:
-
В меню Пуск выберите пункт Панель управления, а затем Администрирование.
-
Щелкните значок Управление компьютером.
-
Разверните узел Службы и приложения и выберите элемент Службы.
-
Правой кнопкой мыши щелкните службу Планировщик заданий и выберите пункт Свойства.
-
На вкладке Общие проверьте, что тип запуска выбран как авто, и состояние службы — запущена. Если служба не запущена, нажмите Пуск.
-
На вкладке Вход в систему проверьте, что выбран пункт «С системной учетной записью» и установлен флажок Разрешить взаимодействие с рабочим столом.
-
Нажмите кнопку OK и закройте окно управления компьютером.
Нужна дополнительная помощь?
Планировщик заданий Windows в умелых руках может оказаться незаменимым инструментом автоматизации всевозможных задач, но, как и в случае со всеми программами, в его работе могут возникать ошибки. Три таких ошибки мы сегодня рассмотрим и попробуем исправить. Наблюдаются они, как правило, при запуске Планировщика. Первая ошибка дает о себе знать появлением окошка с сообщением «Выбранная задача (НАЗВАНИЕ) больше не существует».
При второй ошибке мы получаем сообщение «Служба планировщика задач недоступна…».
Вы жмете «OK» и ошибка повторяется, жмете «OK» еще раз, Планировщик наконец запускается, но если его закрыть и попробовать запустить снова, программа встречает вас той же ошибкой. А еще не выполняются некоторые созданные задания.
Третья ошибка выглядит более грозной. При запуске Планировщика появляется окошко «Внутренняя ошибка».
А затем Планировщик запускается с сообщением «У вас нет прав на выполнение запрошенной операции».
При этом список задач в левой колонке недоступен, как недоступны и параметры создания новых задач в правой колонке. Наиболее вероятной причиной этих ошибок является повреждение одной или нескольких записей в подразделе системного реестра Tree. Устраняются они удалением поврежденных подкаталогов, но для этого нужно знать, какая именно задача вызывает сбой. С первой ошибкой все более или менее понятно — имя задания известно, значит известно, где искать корень проблемы.
Откройте командой regedit редактор реестра и разверните в нем следующую ветку:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionScheduleTaskCacheTree
В последнем каталоге найдите подраздел с именем вызывающего ошибку задания и удалите его, предварительно получив на него права, так как по умолчанию владельцем подразделов с именами заданий является Система (права затем нужно восстановить).
Больше ошибка не станет вас тревожить, но и само задание из списка исчезнет. Скорее всего, вам придется создать его заново, но для начала попробуйте его импортировать.
В Windows все задания хранятся в папке %SystemRoot%system32Tasks в виде XML-файлов без расширений.
Переместите файл с соответствующим названием на рабочий стол, а затем экспортируйте его через меню Планировщика, не забыв выбрать в окошке обзора «Все файлы». Если это не поможет, создайте задание заново или импортируйте его с другого компьютера с той же версией Windows.
Со второй ошибкой дела обстоят потруднее, так как имя вызывающего его задания неизвестно. Как вариант, можно поискать источник проблемы методом тыка, делая сначала резервную копию ключа, а затем удаляя из реестра одну запись за другой и восстанавливая предыдущую, для чего вам может понадобиться доступ к подразделу TaskCache. Аналогичным образом поступаем и с третьей ошибкой. А вообще, самым правильным делом был бы откат к предыдущей системной точке восстановления, ведь именно в теневых копиях Windows хранит все данные системного реестра.
Загрузка…
Дело в том, что у меня — серверная ось, а у пользователя на машине — windows 10. Были бы на обеих машинах серверные оси, и в их организации была бы не одноранговая сеть, а доменная, проблем бы не было: добавил бы соответствующие роли на серверах, запустил бы зеркалирование, и обошелся бы без всяких планировщиков. А тут пришлось для синхронизации использовать специальную утилиту SyncToy 2.1 от Microsoft. И запускать её через Планировщика заданий.
Кроме того, пользователь выдвинул обязательное условие: чтобы не было постоянно добавленного открытого элемента в сетевом окружении и постоянно подключенного сетевого диска, т.е., чтобы каждый раз для подключения к сетевому ресурсу на сервере ему надо было вводить логин и пароль.
Для подключения к серверу использовал bat-файл следующего содержания:
@Echo Off
net use ip-адрес_серверасетевой_ресурс_на_сервере /PERSISTENT:NO /user:имя_пользователя пароль
Exit
где вместо «ip-адрес_сервера», «сетевой_ресурс_на_сервере», «имя_пользователя» и «пароль» были внесены реальные данные.
В Планировщик заданий загнал два действия:
1) запуск приведенного выше bat-файла,
2) запуск программы синхронизации SyncToyCmd.exe
Запустил задание на выполнение. И получил «Результат последнего запуска (0x1)», т.е. — «ни фига» не выполнилось. Расшифровка результата (0x1) — «вызов неверной или неизвестной функции«.
Где-то в сети нашел подсказку, что если в Планировщике заданий на вкладке «Действие» для одного задания прописано выполнение более одной программы, то они запускаются одновременно, а не последовательно. Т.е. получается, что синхронизация запускалась, когда подключения к сетевому ресурсу ещё не было установлено, что и давало ошибку 0x1.
Решение проблемы.
Так как в пакетном файле команды выполняются последовательно, то в наш bat-файл записал обе команды: сначала на подключение сетевого ресурса, а потом — на запуск синхронизации.
@Echo Off
net use ip-адрес_серверасетевой_ресурс_на_сервере /PERSISTENT:NO /user:имя_пользователя пароль
START «SyncToy» /WAIT «C:Program FilesSyncToy 2.1SyncToyCmd.exe» /R
net use ip-адрес_серверасетевой_ресурс_на_сервере /DELETE
Exit
И поместил его во вкладку Действие
Запустил на выполнение. В столбце «Результат последнего запуска» получил «Операция успешно завершена. (0х0)«. Что и требовалось доказать.
P.S. В последнее время обратил внимание на возросшее количество просмотров данного поста. Решил проверить работу синхронизации SyncToy через Планировщик заданий. Там, вроде, всё нормально: в столбце «Результат последнего запуска» стоит «Операция успешно завершена. (0х0)». На всякий случай полез на сервер (куда «эхолировались» папки пользователя) и обнаружил, что вновь добавленные пользователем на его компьютере папки «нихрена» на сервере не появляются. Через Планировщик запустил синхронизацию вручную: результат — тот же. Вот «сцука»! И не понятно, в какой момент этот баг начался.
Начал «перелопачивать» опции Планировщика. И опять получил то, от чего когда-то, как мне думалось, с триумфом ушел: «шедулеровскую» хрень (0х1). Но, в конечном итоге, проблему решил. Помогли одновременно два, казалось бы, ни на что не должные повлиять изменения в Планировщике (если использовать только одно из двух, то не срабатывает).
1) Поменял учетную запись, используемую при выполнении задачи (у меня был «Администратор»). На вкладке «Общие» нажал «Изменить».
В окне «Выбор пользователя» нажал «Дополнительно» — «Поиск». В «Результатах поиска» выбрал «Администраторы». Нажал «ОК».
2) Добавил путь к папке, где находится мой bat-файл. На вкладке «Действия» нажал «Изменить». В окне «Изменение действий» в строке «Рабочая папка (необязательно)» ввел C:Program FilesSyncToy 2.1 (без кавычек). Нажал «ОК». Ещё раз «ОК«.
Запустил Синхронизацию на выполнение. Отработала. В столбце «Результат последнего запуска» появилось уже (0х2).
Тем не менее, вновь созданные на компьютере пользователя папки появились на сервере. Поэтому, наплевать на (0х2) и забыть. Главное, что синхронизирует.
I have a batch file that runs robocopy weekly.
robocopy «D:Database BU Transit» «E:HCNBUWeekly» /e /v /r:1 /w:1 /log:C:BackuplogsWeekly.log /np /nfl /ndl
robocopy «D:Database BU Transit» «J:HCNBUWeekly» /e /v /r:1 /w:1 /log+:C:Backuplogsweekly.log /np /nfl /ndl
When the robocopy finished I got Last Run Result 0x3. According to MS,
In the log file. This seems that it worked fine. but I am not sure why I am getting 0x3 code from the last run result.
——————————————————————————-
ROBOCOPY :: Robust File Copy for Windows
——————————————————————————-
Started : Sat Jul 12 23:30:00 2014
Source : D:Database BU Transit
Dest : E:HCNBUWeekly
Files : *.*
Options : *.* /V /NDL /NFL /S /E /COPY:DAT /NP /R:1 /W:1
——————————————————————————
——————————————————————————
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0
0 0
Files : 1 1 0 0
0 4
Bytes : 2.486 g 2.486 g 0 0 0 9.155 g
Times : 0:00:39 0:00:39 0:00:00 0:00:00
Speed : 67784952 Bytes/sec.
Speed : 3878.686 MegaBytes/min.
Ended : Sat Jul 12 23:30:39 2014
——————————————————————————-
ROBOCOPY :: Robust File Copy for Windows
——————————————————————————-
Started : Sat Jul 12 23:30:39 2014
Source : D:Database BU Transit
Dest : J:HCNBUWeekly
Files : *.*
Options : *.* /V /NDL /NFL /S /E /COPY:DAT /NP /R:1 /W:1
——————————————————————————
——————————————————————————
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0
0 0
Files : 1 1 0 0
0 8
Bytes : 2.486 g 2.486 g 0 0 0 17.573 g
Times : 0:01:31 0:01:31 0:00:00 0:00:00
Speed : 29267549 Bytes/sec.
Speed : 1674.702 MegaBytes/min.
Ended : Sat Jul 12 23:32:11 2014
——————————————————————————-
ROBOCOPY :: Robust File Copy for Windows
——————————————————————————-
Started : Mon Jul 14 07:46:01 2014
Source : E:HCNBUWeekly
Dest : J:HCNBUWeekly
Files : *.*
Options : *.* /V /NDL /NFL /S /E /COPY:DAT /NP /R:1 /W:1
——————————————————————————
——————————————————————————
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0
0 0
Files : 5 5 0 0
0 0
Bytes : 11.642 g 11.642 g 0 0 0 0
Times : 0:07:52 0:07:52 0:00:00 0:00:00
Speed : 26464739 Bytes/sec.
Speed : 1514.324 MegaBytes/min.
Ended : Mon Jul 14 07:53:53 2014
——————————————————————————-
ROBOCOPY :: Robust File Copy for Windows
——————————————————————————-
Started : Tue Jul 15 07:00:50 2014
Source : E:HCNBUWeekly
Dest : J:HCNBUWeekly
Files : *.*
Options : *.* /V /NDL /NFL /S /E /COPY:DAT /NP /R:1 /W:1
——————————————————————————
——————————————————————————
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0
0 0
Files : 5 5 0 0
0 0
Bytes : 11.642 g 11.642 g 0 0 0 0
Times : 0:08:10 0:08:10 0:00:00 0:00:00
Speed : 25497194 Bytes/sec.
Speed : 1458.961 MegaBytes/min.
Ended : Tue Jul 15 07:09:00 2014
——————————————————————————-
ROBOCOPY :: Robust File Copy for Windows
——————————————————————————-
Started : Wed Jul 16 07:38:37 2014
Source : E:HCNBUWeekly
Dest : J:HCNBUWeekly
Files : *.*
Options : *.* /V /NDL /NFL /S /E /COPY:DAT /NP /R:1 /W:1
——————————————————————————
——————————————————————————
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0
0 0
Files : 5 5 0 0
0 0
Bytes : 11.642 g 11.642 g 0 0 0 0
Times : 0:20:38 0:20:38 0:00:00 0:00:00
Speed : 10096282 Bytes/sec.
Speed : 577.713 MegaBytes/min.
Ended : Wed Jul 16 07:59:16 2014
——————————————————————————-
ROBOCOPY :: Robust File Copy for Windows
——————————————————————————-
Started : Thu Jul 17 07:35:43 2014
Source : E:HCNBUWeekly
Dest : J:HCNBUWeekly
Files : *.*
Options : *.* /V /NDL /NFL /S /E /COPY:DAT /NP /R:1 /W:1
——————————————————————————
——————————————————————————
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0
0 0
Files : 5 5 0 0
0 0
Bytes : 11.642 g 11.642 g 0 0 0 0
Times : 0:20:15 0:20:15 0:00:00 0:00:00
Speed : 10286800 Bytes/sec.
Speed : 588.615 MegaBytes/min.
Ended : Thu Jul 17 07:55:59 2014
I have a batch file that runs robocopy weekly.
robocopy «D:Database BU Transit» «E:HCNBUWeekly» /e /v /r:1 /w:1 /log:C:BackuplogsWeekly.log /np /nfl /ndl
robocopy «D:Database BU Transit» «J:HCNBUWeekly» /e /v /r:1 /w:1 /log+:C:Backuplogsweekly.log /np /nfl /ndl
When the robocopy finished I got Last Run Result 0x3. According to MS,
In the log file. This seems that it worked fine. but I am not sure why I am getting 0x3 code from the last run result.
——————————————————————————-
ROBOCOPY :: Robust File Copy for Windows
——————————————————————————-
Started : Sat Jul 12 23:30:00 2014
Source : D:Database BU Transit
Dest : E:HCNBUWeekly
Files : *.*
Options : *.* /V /NDL /NFL /S /E /COPY:DAT /NP /R:1 /W:1
——————————————————————————
——————————————————————————
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0
0 0
Files : 1 1 0 0
0 4
Bytes : 2.486 g 2.486 g 0 0 0 9.155 g
Times : 0:00:39 0:00:39 0:00:00 0:00:00
Speed : 67784952 Bytes/sec.
Speed : 3878.686 MegaBytes/min.
Ended : Sat Jul 12 23:30:39 2014
——————————————————————————-
ROBOCOPY :: Robust File Copy for Windows
——————————————————————————-
Started : Sat Jul 12 23:30:39 2014
Source : D:Database BU Transit
Dest : J:HCNBUWeekly
Files : *.*
Options : *.* /V /NDL /NFL /S /E /COPY:DAT /NP /R:1 /W:1
——————————————————————————
——————————————————————————
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0
0 0
Files : 1 1 0 0
0 8
Bytes : 2.486 g 2.486 g 0 0 0 17.573 g
Times : 0:01:31 0:01:31 0:00:00 0:00:00
Speed : 29267549 Bytes/sec.
Speed : 1674.702 MegaBytes/min.
Ended : Sat Jul 12 23:32:11 2014
——————————————————————————-
ROBOCOPY :: Robust File Copy for Windows
——————————————————————————-
Started : Mon Jul 14 07:46:01 2014
Source : E:HCNBUWeekly
Dest : J:HCNBUWeekly
Files : *.*
Options : *.* /V /NDL /NFL /S /E /COPY:DAT /NP /R:1 /W:1
——————————————————————————
——————————————————————————
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0
0 0
Files : 5 5 0 0
0 0
Bytes : 11.642 g 11.642 g 0 0 0 0
Times : 0:07:52 0:07:52 0:00:00 0:00:00
Speed : 26464739 Bytes/sec.
Speed : 1514.324 MegaBytes/min.
Ended : Mon Jul 14 07:53:53 2014
——————————————————————————-
ROBOCOPY :: Robust File Copy for Windows
——————————————————————————-
Started : Tue Jul 15 07:00:50 2014
Source : E:HCNBUWeekly
Dest : J:HCNBUWeekly
Files : *.*
Options : *.* /V /NDL /NFL /S /E /COPY:DAT /NP /R:1 /W:1
——————————————————————————
——————————————————————————
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0
0 0
Files : 5 5 0 0
0 0
Bytes : 11.642 g 11.642 g 0 0 0 0
Times : 0:08:10 0:08:10 0:00:00 0:00:00
Speed : 25497194 Bytes/sec.
Speed : 1458.961 MegaBytes/min.
Ended : Tue Jul 15 07:09:00 2014
——————————————————————————-
ROBOCOPY :: Robust File Copy for Windows
——————————————————————————-
Started : Wed Jul 16 07:38:37 2014
Source : E:HCNBUWeekly
Dest : J:HCNBUWeekly
Files : *.*
Options : *.* /V /NDL /NFL /S /E /COPY:DAT /NP /R:1 /W:1
——————————————————————————
——————————————————————————
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0
0 0
Files : 5 5 0 0
0 0
Bytes : 11.642 g 11.642 g 0 0 0 0
Times : 0:20:38 0:20:38 0:00:00 0:00:00
Speed : 10096282 Bytes/sec.
Speed : 577.713 MegaBytes/min.
Ended : Wed Jul 16 07:59:16 2014
——————————————————————————-
ROBOCOPY :: Robust File Copy for Windows
——————————————————————————-
Started : Thu Jul 17 07:35:43 2014
Source : E:HCNBUWeekly
Dest : J:HCNBUWeekly
Files : *.*
Options : *.* /V /NDL /NFL /S /E /COPY:DAT /NP /R:1 /W:1
——————————————————————————
——————————————————————————
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0
0 0
Files : 5 5 0 0
0 0
Bytes : 11.642 g 11.642 g 0 0 0 0
Times : 0:20:15 0:20:15 0:00:00 0:00:00
Speed : 10286800 Bytes/sec.
Speed : 588.615 MegaBytes/min.
Ended : Thu Jul 17 07:55:59 2014
Я пытаюсь запланировать задание для запуска пакетного файла с помощью Планировщика задач Windows 10, но это приводит к коду возврата 2147942401.
Пакетный файл находится в удаленном месте, поэтому я указываю абсолютный путь
« server1 передача файлов файлы данных входящий abc csv excel-to-csv.bat»
Если я запустил пакетный скрипт из командной строки, он будет работать нормально.
Пакетный сценарий предназначен для преобразования Excel в файл в CSV.
Содержание скрипта:
FOR /f "delims=" %%i IN ("server1file transfersData FilesInboundabcCSV*.xlsx" ) DO to-csv.vbs "server1file transfersData FilesInboundabc*.xlsx" "%%~ni.csv"
Он вызывает другой сценарий VB, который является to-cvs.vbs
Если я внесу изменения на вкладке «Действие», как указано в @Steinspecht (планировщик задач — задача завершена «успешно» с кодом выхода 0x8007001), то я также получаю код 2147942401 Не уверен, правильно ли написано Добавить аргументы
7 ответов
Здесь указывается еще одна распространенная причина ошибки — действие "powershell.exe" with return code 2147942401
. Если ваши аргументы действия неверны, вы также получите это сообщение об ошибке. Убедитесь, что параметры аргумента действия и значения параметров расположены правильно.
Хороший пример:
-executionpolicy bypass -file "C:ScriptsImportFiles.ps1"
Пример с ошибкой (нет пробела между параметром ‘file’ и его значением):
-executionpolicy bypass -file"C:ScriptsImportFiles.ps1"
4
BrianCanFixIT
13 Сен 2019 в 20:51
Для меня задача иногда работала, а иногда нет. Согласно журналу запланированных задач, в случае сбоя это выглядело бы так, как если бы оно выполнялось в течение примерно 40 секунд, ничего не делая и завершая action "C:windowsSYSTEM32cmd.exe" with return code 2147942401
.
-
В этом случае не было смысла возиться с настройками групповой политики, потому что иногда это срабатывало. Но не каждый раз. Это означает, что это проблема времени, а не политики.
-
Воссоздание, перенастройка моей задачи (как предложено в этом Вопросы и ответы суперпользователя) не устранили проблему.
-
Я также рассматривал возможность разделки моего пакетного файла и избавления от стандартного перенаправления вывода, тем самым отказавшись от возможности ведения журнала (и став слепым). Или просто запустить реальный процесс «*.exe» вместо использования пакетного файла. Это потенциально могло быть решением.
-
Я также рассматривал возможность замены запланированной задачи «При запуске» полноценной службой, но это был бы дорогостоящий эксперимент для такой тривиальной проблемы.
В конце концов, я вспомнил, что услуги могут быть отложены: «Автоматически» против «Автоматически (отложенный запуск)». Поэтому я сымитировал это, добавив задержку запланированной задачи в планировщике задач. Для запланированных задач «При запуске» это триггер, который имеет собственные индивидуальные свойства, и именно здесь можно настроить задержку:
Я считаю, что моя запланированная задача иногда запускалась на несколько миллисекунд раньше, и некоторые службы или функции ОС еще не были доступны или разрешены. Простое добавление небольшой задержки на триггер решило проблему.
2
numdig
24 Мар 2021 в 17:32
Коды ошибок для планировщика заданий перечислены в шестнадцатеричном виде по адресу msdn, и ваш код 2147942401 преобразуется в шестнадцатеричный формат как 0x80070001 (который там не указан), но этот суперпользователь описывает это как» Незаконную функцию «. Он исправил свою проблему с помощью «простейших настроек планировщика задач, и теперь он работает». Я отмечаю, что он выполняет свою задачу только тогда, когда пользователь вошел в систему, поэтому ему не нужно «Входить как пакетное задание».
Если вы хотите запустить пакетное задание, когда вы не вошли в систему, вам потребуется специальная привилегия под названием «Вход в систему как пакетное задание». Обратите внимание, что есть также привилегия «ОТКАЗАТЬ вход в систему как пакетное задание», чего вам не нужно.
Из Social Technet, вы можете назначить это право с помощью
- Введите secpol.msc / s .
- Выберите « Локальные политики » в оснастке MSC.
- Выберите « Назначение прав пользователя ».
- Щелкните правой кнопкой мыши « Войти как пакетное задание » и выберите «Свойства».
- Нажмите « Добавить пользователя или группу » и включите соответствующего пользователя.
Ваша задача вызывает сетевой ресурс. Эти сценарии powershell рекомендуют ресурсы на ваш локальный компьютер, чтобы исключить любые проблемы с сетью/подключением/разрешениями… но это не всегда может быть уместным или практичным.
27
woodvi
2 Авг 2021 в 19:27
Этот код ошибки также может быть результатом ошибки/ошибки в фактическом сценарии Powershell или пакетном (.bat) файле, даже если все настройки планировщика задач, разрешения и т. д. верны; в моем случае я ссылался на несуществующий каталог.
14
daveloyall
8 Мар 2021 в 16:19
Старый вопрос, который я знаю, но я получал ошибку 2147942401 на сервере Windows 2016.
Если вы посмотрите на свойства запланированной задачи, то в нижней части вкладки «Общие» по умолчанию установлено значение «Настроить для: Windows Vista, Windows Server 2008».
Перешел на Windows Server 2016, и проблема была решена.
7
user3507000
10 Июл 2019 в 16:16
Ответ М. Хербенера привел к тому, что я попытался запустить сценарий вручную, чтобы проверить, есть ли в нем ошибка. Этого не произошло, но он подчеркнул, в чем проблема, поскольку я получил сообщение об ошибке:
[мой скрипт] не может быть загружен, потому что в этой системе отключен запуск скриптов.
Решением, конечно же, было запустить Set-ExecutionPolicy, чтобы разрешить выполнение сценариев Powershell.
2
paulH
14 Мар 2019 в 15:33
Для меня проблема заключалась в том, что файл был заблокирован, так как он был загружен из Интернета. Я видел это в истории планировщика задач
Task Scheduler successfully completed task "task name" ,
instance "{id}" , action "Powershell.exe" with return code 2147942401.
Чтобы решить эту проблему:
- Щелкните правой кнопкой мыши файл .ps1 и откройте «Свойства».
- Нажмите «Разблокировать» в разделе «Атрибуты».
0
Omer Celik
21 Апр 2022 в 20:32
I used the list on Wikipedia to create this C# method for mapping Task Scheduler error codes to messages, for the lazy ones out there
private static string? MessageFromTaskSchedulerErrorCode(uint errorCode)
{
return errorCode switch
{
0x0 => "The operation completed successfully.",
0x1 => "Incorrect function called or unknown function called.",
0x2 => "File not found.",
0xa => "The environment is incorrect.",
0x00041300 => "Task is ready to run at its next scheduled time.",
0x00041301 => "The task is currently running.",
0x00041302 => "The task has been disabled.",
0x00041303 => "The task has not yet run.",
0x00041304 => "There are no more runs scheduled for this task.",
0x00041305 => "One or more of the properties that are needed to run this task have not been set.",
0x00041306 => "The last run of the task was terminated by the user.",
0x00041307 => "Either the task has no triggers or the existing triggers are disabled or not set.",
0x00041308 => "Event triggers do not have set run times.",
0x80010002 => "Call was canceled by the message filter",
0x80041309 => "A task's trigger is not found.",
0x8004130A => "One or more of the properties required to run this task have not been set.",
0x8004130B => "There is no running instance of the task.",
0x8004130C => "The Task Scheduler service is not installed on this computer.",
0x8004130D => "The task object could not be opened.",
0x8004130E => "The object is either an invalid task object or is not a task object.",
0x8004130F => "No account information could be found in the Task Scheduler security database for the task indicated.",
0x80041310 => "Unable to establish existence of the account specified.",
0x80041311 => "Corruption was detected in the Task Scheduler security database",
0x80041312 => "Task Scheduler security services are available only on Windows NT.",
0x80041313 => "The task object version is either unsupported or invalid.",
0x80041314 => "The task has been configured with an unsupported combination of account settings and run time options.",
0x80041315 => "The Task Scheduler Service is not running.",
0x80041316 => "The task XML contains an unexpected node.",
0x80041317 => "The task XML contains an element or attribute from an unexpected namespace.",
0x80041318 => "The task XML contains a value which is incorrectly formatted or out of range.",
0x80041319 => "The task XML is missing a required element or attribute.",
0x8004131A => "The task XML is malformed.",
0x0004131B => "The task is registered, but not all specified triggers will start the task.",
0x0004131C => "The task is registered, but may fail to start.Batch logon privilege needs to be enabled for the task principal.",
0x8004131D => "The task XML contains too many nodes of the same type.",
0x8004131E => "The task cannot be started after the trigger end boundary.",
0x8004131F => "An instance of this task is already running.",
0x80041320 => "The task will not run because the user is not logged on.",
0x80041321 => "The task image is corrupt or has been tampered with.",
0x80041322 => "The Task Scheduler service is not available.",
0x80041323 => "The Task Scheduler service is too busy to handle your request. Please try again later.",
0x80041324 => "The Task Scheduler service attempted to run the task, but the task did not run due to one of the constraints in the task definition.",
0x00041325 => "The Task Scheduler service has asked the task to run.",
0x80041326 => "The task is disabled.",
0x80041327 => "The task has properties that are not compatible with earlier versions of Windows.",
0x80041328 => "The task settings do not allow the task to start on demand.",
0xC000013A => "The application terminated as a result of a CTRL+C.",
0xC0000142 => "The application failed to initialize properly.",
_ => null
};
}
Some people have seen errors that didn’t appear in MSDN documentation. I don’t know if it’s just the app that they were running (because you can get return codes from that as well, assuming it actually ran) but there’s not much else I can do.
One could in addition also use Marshal.GetExceptionForHR
to get possible HResult exceptions mapped to friendly messages, but other than that I don’t know what else to do.
Если у вас не выполняются назначенные задания в Планировщике и в столбце «прошлый результат» код ошибки отличный от нуля, то расшифровку кодов можно посмотреть на следующих ресурсах:
Устранение неполадок, связанных с назначенными заданиями в Windows XP и Windows Server 2003
Обычные коды для назначенных заданий следующие:
0x0: Операция выполнена успешно.
0x1: Вызов неверной или неизвестной функции.
0xa: Ошибка в среде.
В поиске проблемы может помочь журнал планировщика в папке Windows с именем Schedlgu.txt.
Расширенное описание кодов ошибок можно прочитать в MSDN:
Task Scheduler Error and Success Constants (для Windows 2008 server и Windows Vista)
System Error Codes
1 / 1 / 0 Регистрация: 02.02.2021 Сообщений: 4 |
|
1 |
|
Server 2016 02.02.2021, 09:58. Показов 13662. Ответов 2
Всем добрый день!
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
02.02.2021, 09:58 |
Ответы с готовыми решениями: Планировщик В планировщике устанавливаются задачи (bat), которые… Планировщик задач
Планировщик не работает. Создаю любую задачу при входе или при… Планировщик задач 2 |
237 / 226 / 47 Регистрация: 12.12.2012 Сообщений: 1,942 |
|
02.02.2021, 12:26 |
2 |
Данная ошибка говорит о невозможности получить доступ к файлу. Проверьте путьправа на папку, из под которой выполняется скрипт.
2 |
1 / 1 / 0 Регистрация: 02.02.2021 Сообщений: 4 |
|
03.02.2021, 14:27 [ТС] |
3 |
Дело было в том, что файл, к которому обращался скрипт, был заблокирован ошибкой диска. Спасибо за помощь, вопрос закрыт!
1 |
Дело в том, что у меня — серверная ось, а у пользователя на машине — windows 10. Были бы на обеих машинах серверные оси, и в их организации была бы не одноранговая сеть, а доменная, проблем бы не было: добавил бы соответствующие роли на серверах, запустил бы зеркалирование, и обошелся бы без всяких планировщиков. А тут пришлось для синхронизации использовать специальную утилиту SyncToy 2.1 от Microsoft. И запускать её через Планировщика заданий.
Кроме того, пользователь выдвинул обязательное условие: чтобы не было постоянно добавленного открытого элемента в сетевом окружении и постоянно подключенного сетевого диска, т.е., чтобы каждый раз для подключения к сетевому ресурсу на сервере ему надо было вводить логин и пароль.
Для подключения к серверу использовал bat-файл следующего содержания:
@Echo Off
net use \ip-адрес_серверасетевой_ресурс_на_сервере /PERSISTENT:NO /user:имя_пользователя пароль
Exit
где вместо «ip-адрес_сервера», «сетевой_ресурс_на_сервере», «имя_пользователя» и «пароль» были внесены реальные данные.
В Планировщик заданий загнал два действия:
1) запуск приведенного выше bat-файла,
2) запуск программы синхронизации SyncToyCmd.exe
Запустил задание на выполнение. И получил «Результат последнего запуска (0x1)», т.е. — «ни фига» не выполнилось. Расшифровка результата (0x1) — «вызов неверной или неизвестной функции«.
Где-то в сети нашел подсказку, что если в Планировщике заданий на вкладке «Действие» для одного задания прописано выполнение более одной программы, то они запускаются одновременно, а не последовательно. Т.е. получается, что синхронизация запускалась, когда подключения к сетевому ресурсу ещё не было установлено, что и давало ошибку 0x1.
Решение проблемы.
Так как в пакетном файле команды выполняются последовательно, то в наш bat-файл записал обе команды: сначала на подключение сетевого ресурса, а потом — на запуск синхронизации.
@Echo Off
net use \ip-адрес_серверасетевой_ресурс_на_сервере /PERSISTENT:NO /user:имя_пользователя пароль
START «SyncToy» /WAIT «C:Program FilesSyncToy 2.1SyncToyCmd.exe» /R
net use \ip-адрес_серверасетевой_ресурс_на_сервере /DELETE
Exit
И поместил его во вкладку Действие
Запустил на выполнение. В столбце «Результат последнего запуска» получил «Операция успешно завершена. (0х0)«. Что и требовалось доказать.
P.S. В последнее время обратил внимание на возросшее количество просмотров данного поста. Решил проверить работу синхронизации SyncToy через Планировщик заданий. Там, вроде, всё нормально: в столбце «Результат последнего запуска» стоит «Операция успешно завершена. (0х0)». На всякий случай полез на сервер (куда «эхолировались» папки пользователя) и обнаружил, что вновь добавленные пользователем на его компьютере папки «нихрена» на сервере не появляются. Через Планировщик запустил синхронизацию вручную: результат — тот же. Вот «сцука»! И не понятно, в какой момент этот баг начался.
Начал «перелопачивать» опции Планировщика. И опять получил то, от чего когда-то, как мне думалось, с триумфом ушел: «шедулеровскую» хрень (0х1). Но, в конечном итоге, проблему решил. Помогли одновременно два, казалось бы, ни на что не должные повлиять изменения в Планировщике (если использовать только одно из двух, то не срабатывает).
1) Поменял учетную запись, используемую при выполнении задачи (у меня был «Администратор»). На вкладке «Общие» нажал «Изменить».
В окне «Выбор пользователя» нажал «Дополнительно» — «Поиск». В «Результатах поиска» выбрал «Администраторы». Нажал «ОК».
2) Добавил путь к папке, где находится мой bat-файл. На вкладке «Действия» нажал «Изменить». В окне «Изменение действий» в строке «Рабочая папка (необязательно)» ввел C:Program FilesSyncToy 2.1 (без кавычек). Нажал «ОК». Ещё раз «ОК«.
Запустил Синхронизацию на выполнение. Отработала. В столбце «Результат последнего запуска» появилось уже (0х2).
Тем не менее, вновь созданные на компьютере пользователя папки появились на сервере. Поэтому, наплевать на (0х2) и забыть. Главное, что синхронизирует.