Несоответствие типов 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 для ОС.
Надеюсь это поможет.