Несоответствие типов ZTIDrivers в MDT во время последовательности задач

Я пытаюсь развернуть Windows 10 на ноутбуке Lenovo с помощью MDT. У меня есть профиль выбора для этой конкретной последовательности задач, который выбирает только драйверы для этой модели. Драйверы, которые я импортировал, представляли собой полный пакет драйверов для SCCM, который вы можете загрузить с Lenovo, поэтому все драйверы были inf и cab.

Прямо на этапе внедрения я получаю следующую ошибку, и TS выходит из строя до того, как ОС начинает устанавливаться.

      ZTI ERROR - Unhandled error returned by ZTIDrivers: Type mismatch (13)  ZTIDrivers  11/2/2021 3:37:35 PM    0 (0x0000)
Event 41002 sent: ZTI ERROR - Unhandled error returned by ZTIDrivers: Type mismatch (13)    ZTIDrivers  11/2/2021 3:37:35 PM    0 (0x0000)
Command completed, return code = -2147467259    LiteTouch   11/2/2021 3:37:36 PM    0 (0x0000)
Litetouch deployment failed, Return Code = -2147467259  0x80004005  LiteTouch   11/2/2021 3:37:36 PM    0 (0x0000)
Event 41014 sent: Litetouch deployment failed, Return Code = -2147467259  0x80004005    LiteTouch   11/2/2021 3:37:36 PM    0 (0x0000)

Некоторые вещи, которые я проверил:

  • GUID ОС и GUID в XML-коде задач совпадают.
  • Пробовал повторно импортировать драйверы и повторно импортировать ОС через WIM.
  • Пробовал использовать для образа тот же TS, но с ванильным Windows 10 21H1.

Почему я получаю эту ошибку? Ничего из того, что я искал, не дало ничего, что помогло бы.

1 ответ

Недавно я столкнулся с такой же ошибкой. Для развертывания сборки MDT мы используем внешний USB-носитель. Это то, что, как я обнаружил, вызвало эту ошибку в моем случае.

Переменной OSGUID не было присвоено допустимое значение.

Чтобы понять это, я сначала посмотрел на сценарий ZTIDriver.wsf. В сценарии ZTIDrivers.wsf, расположенном вверху, он анализирует envirVar «ImageBuild», чтобы найти локальную переменную «sTargetBuild».

Если «ImageBuild» имеет значение null, локальная переменная «sTargetBuild» не будет установлена ​​правильно. Подробнее об этом чуть позже.

Позже в сценарии ZTIDrivers.wsf, в «Function UpdateConfiguration», проверяется значение sTargetBuild («Если sTargetBuild <> 5, то»). Поскольку sTargetBuild установлен неправильно (я подозреваю, что оно равно нулю), он не соответствует правильному типу данных для оценки IF. Поэтому он выдает ошибку «Несоответствие типов».

Хорошо, вернемся к переменной «ImageBuild». Почему это значение равно нулю или не установлено? В предыдущей успешной развернутой сборке я проверяю BDD.log развертывания и ищу «ImageBuild». Я ищу «ImageBuild» и обнаруживаю, что он устанавливается («Свойство ImageBuild сейчас = 10.0.19041.1469»).

Я проверяю BDD.log в неисправной системе «Несоответствие типов». Нет упоминания об «ImageBuild».

Вернувшись в успешный файл BDD.log, несколькими строками выше, где виден «ImageBuild», я вижу отображаемое значение «OSGUID» («Свойство OSGUID теперь = (a899bc....»).

Когда я ищу эту строку «OSGUID» в неудачном файле BDD.log, я вижу аналогичную строку («OSGUID свойства теперь = {388c2ee4-...»). НО я также вижу строку чуть ниже: «ОШИБКА: неверный GUID ОС {388c2ee4-....».

Откуда он взял этот неверный OSGUID? Хотя в моем TS.XML указан правильный GUID для задачи «Установка операционной системы» (и этот действительный GUID установлен для ОС в файле OperatingSystems.xml), я также вижу этот путь вверху TS.XML: в разделе «globalVarList» есть дополнительные строки, где задается OSGUID. И ему присваивается недопустимое значение, указанное в BDD.log.

По какой-то причине в моем TS.XML в разделе «globalVarList» есть две записи значений OSGUID. Непонятно, почему несколько.

Но мое решение заключалось в том, чтобы вручную отредактировать TS.XML и изменить недопустимые записи OSGUID, чтобы они использовали действительный GUID для ОС.

Надеюсь это поможет.

Другие вопросы по тегам