Вопрос или проблема
С момента обновления до Windows 10 любая попытка редактирования ранее существующей задачи приводит к появлению всплывающего окна с ошибкой, в котором указано:
Произошла ошибка для задачи < taskname >
Была сообщена следующая ошибка: XML задачи содержит значение, которое некорректно отформатировано или выходит за пределы допустимого диапазона.
Я нашел обходное решение. Если зайти в Общие настройки → Изменить пользователя или группу… и просто снова ввести текущего пользователя, изменения принимаются. Старые задачи, созданные в Windows 8, и новые задачи (после успешного создания) ведут себя одинаково: любые изменения должны сопровождаться повторным вводом имени пользователя.
Если вы получаете эту ошибку, скорее всего, у вас есть
([timeSpan]::maxvalue)
в одной из ваших команд.
Пример:
New-ScheduledTaskTrigger -Once -At (Get-Date).Date -RepetitionInterval (New-TimeSpan -Minutes 35) -RepetitionDuration ([timeSpan]::maxvalue)
Обходное решение – установить значение с конкретным временем где-то в далеком будущем.
$TheDate= ([DateTime]::Now)
$Duration = $TheDate.AddYears(25) - $TheDate
New-ScheduledTaskTrigger -Once -At (Get-Date).Date -RepetitionInterval (New-TimeSpan -Minutes 35) -RepetitionDuration $Duration
Кредиты блогу blog.netnerds
Проверьте эти 3 места на наличие задачи с именем из сообщения об ошибке:
- Файловая система:
- C:\Windows\System32\Tasks
- Реестр:
- Computer\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Schedule\Taskcache\Tasks
- Computer\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Schedule\Taskcache\Tree
Любое вхождение имени задачи из сообщения об ошибке должно быть удалено.
Создайте резервную копию ключей на всякий случай…
Еще одной возможной причиной может быть то, что XML задачи содержит элемент MaintenanceSettings
. Что-то вроде:
<Task …>
…
<Settings>
…
<MaintenanceSettings>
<Period>P1D</Period>
<Deadline>P7D</Deadline>
<Exclusive>false</Exclusive>
</MaintenanceSettings>
…
Например, встроенные задачи Microsoft Defender содержат эти элементы.
Обратите внимание, что в Планировщике задач нет интерфейса для редактирования этих настроек.
Согласно документации, MaintenanceSettings
были добавлены в Windows 8, в то время как большинство других элементов существуют с Windows Vista. Поэтому можно предположить, что интерфейс не был обновлен вовремя или же они намеренно решили не реализовывать интерфейс для этой настройки. Другим элементом, который был добавлен недавно, является WnfStateChangeTrigger
. Планировщик задач показывает его на вкладке Триггеры, но утверждает, что не может его редактировать.
Вы можете экспортировать задачу в XML файл, отредактировать его в Блокноте и импортировать обратно.
При редактировании в Блокноте вы можете удалить элемент MaintenanceSettings
из XML. Тогда повторно импортированная задача станет редактируемой с помощью интерфейса Планировщика задач. Или вы можете внести все изменения в Блокноте и сохранить MaintenanceSettings
.
И (согласно моим тестам) повторный ввод имени пользователя не решает проблему с MaintenanceSettings
.
Я видел сервер Microsoft Windows, который был затронут этой ерундой “XML содержит значение, которое некорректно отформатировано”, что кажется ошибкой в Microsoft Windows…
Эта проблема затрагивает, по меньшей мере, Windows Server 2019 Standard, и, возможно, больше.
Обходное решение: откройте Планировщик задач, откройте вашу задачу, перейдите в Общие
→ Изменить пользователя или группу...
и просто снова введите текущего пользователя, после чего вы сможете снова Сохранить
без этой ерунды с XML ошибкой.
Пример скриншота с задачей, которую я не могу редактировать. Посмотрите на выбранного пользователя, который просто “что-то” (извините за скриншот на итальянском, я не могу изменить язык здесь):
Но если вы нажмете на Изменить пользователя или группу...
и снова выберете пользователя, после этого посмотрите, что пользователь становится другим, и это (извините за скриншот на итальянском):
Таким образом, кажется, что имя пользователя ДОЛЖНО содержать явное имя домена, и каждый раз, когда вы повторно открываете задачу, оно удаляет домен, делая имя пользователя недействительным, поэтому вам нужно вводить его снова.
Я не знаю долгосрочного решения. Я пытался удалить и заново создать задачу, и я все еще был затронут, поэтому, по-моему, это ошибка в программном обеспечении Microsoft Windows. Каждый раз, когда вы открываете задачу, она делает её недействительной, и вы не сможете редактировать, пока не примените это обходное решение вручную.
P.S. Кредиты ответа: https://superuser.com/users/650367/fred
Ответ или решение
Устранение ошибки "XML содержит неправильно отформатированное значение" в Планировщике задач Windows 10
При попытке редактирования ранее созданной задачи в Планировщике задач Windows 10 вы можете столкнуться с ошибкой, сообщающей, что:
“Произошла ошибка для задачи <название задачи>. Следующая ошибка была обнаружена: XML содержит значение, которое неправильно отформатировано или находится вне диапазона.”
Эта проблема возникает у многих пользователей после обновления до Windows 10 и может вызвать значительные трудности. Ниже приведены причины возникновения этой ошибки и возможные способы ее устранения.
Причины возникновения ошибки
-
Некорректный формат XML:
Когда задача была создана в предыдущих версиях Windows (например, Windows 8), могут остаться элементы, которые не поддерживаются в новой версии. Это может быть связано с определёнными параметрами, не соответствующими текущим стандартам XML для задач. -
Элементы MaintenanceSettings:
Если в XML файла задачи присутствует элемент<MaintenanceSettings>
, который появился в Windows 8, вы не сможете редактировать задачу через графический интерфейс. Это связано с тем, что редактор задачи не поддерживает редактирование этих параметров. -
Работа с $timeSpan::maxvalue:
Если ваш скрипт запускает задачи с использованием([timeSpan]::maxvalue)
, может возникнуть ошибка форматирования. Использование этого значения для параметров, таких какRepetitionDuration
, может вызвать подобные проблемы. Лучшее решение – задать конкретное время в будущем.
Возможные решения
-
Перезапись имени пользователя:
Как временное решение, откройте задачу в Планировщике и перейдите в раздел "Общее", затем нажмите "Изменить пользователя или группу…". Повторно введите текущее имя пользователя и сохраните изменения. Это может помочь при редактировании задач, созданных в более ранних версиях Windows. -
Проверка на параметры XML:
Для задач, где присутствует элемент<MaintenanceSettings>
, рекомендуется экспортировать задачу в XML файл, отредактировать его с помощью текстового редактора (например, Notepad) и удалить элемент<MaintenanceSettings>
. После редактирования вы можете импортировать задачу обратно. Таким образом, задача станет редактируемой через интерфейс Планировщика. -
Проверка конфигурации задач в системе:
Проверьте конфигурацию задачи в следующих местах:- Папка:
C:\Windows\System32\Tasks
- Реестр:
Computer\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Schedule\Taskcache\Tasks
Computer\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Schedule\Taskcache\Tree
Убедитесь, что все упоминания о задаче из сообщения об ошибке удалены. Перед внесением изменений создайте резервную копию реестра.
- Папка:
-
Использование корректного формата для запуска задач:
Вместо использования([timeSpan]::maxvalue)
, указывайте конкретные значения времени. Например:$TheDate = ([DateTime]::Now) $Duration = $TheDate.AddYears(25) - $TheDate New-ScheduledTaskTrigger -Once -At (Get-Date).Date -RepetitionInterval (New-TimeSpan -Minutes 35) -RepetitionDuration $Duration
Заключение
Ошибка "XML содержит неправильно отформатированное значение" в Планировщике задач Windows 10 может быть следствием различных причин, начиная от некорректных параметров задач, созданных в предыдущих версиях Windows, до специфических настроек XML. Хотя вышеописанные методы позволяют временно решить проблему, рекомендуется время от времени проверять обновления от Microsoft, которые могут помочь устранить эти баги на программном уровне. Если проблема остается нерешенной, повторное создание задачи с использованием поддерживаемых параметров может быть наиболее надежным решением.