Застосування завдання пакету драйверів неможливе, коли ADK оновиться до ADK 10 1607

Симптоми

Після інсталяції ADK 10 1607 на конфігураційному поточному гілці 1602 або новіше, Застосувати пакет драйверів Під час встановлення одного з драйверів у пакет драйверів. Несправність випадкова і не відбувається на одному драйвері кожного разу. Іноді завдання Apply Driver Package може бути успішним.

Викликати

Проблема наразі розслідується корпорацією Майкрософт. На високому рівні ConfigMgr викликає DISM для встановлення драйверів під час Застосувати пакет драйверів завдання. ConfigMgr може викликати DISM кілька разів протягом Застосувати пакет драйверів завдання в залежності від пакет драйверів структура. Проблема, схоже, викликана спробою завантаження реєстру автономної ОС, коли він не закінчив розвантаження реєстру з попередньої інсталяції драйвера. Ця проблема, здається, відбувається тільки на більш швидких ПК з SSD-дисками, в основному SSD-накопичувачами NVME.

Дивлячись на SMSTS.log ви побачите ConfigMgr, що викликає DISM кілька разів (у цьому випадку 9 разів), щоб встановити драйвери:

11-22-2016 18: 20: 35.106 OSDDriverClient Виконує командний рядок: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "WINDOWS" /apply-unattend: "C: _SMSTaskSequencePkgMgrTempdism.log"

11-22-2016 18: 20: 37.863 OSDDriverClient Виконує командний рядок: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "WINDOWS" /apply-unattend: "C: _SMSTaskSequencePkgMgrTempdism.log"

11-22-2016 18: 20: 39.965 OSDDriverClient Виконує командний рядок: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "WINDOWS" /apply-unattend: "C: _SMSTaskSequencePkgMgrTempdism.log"

11-22-2016 18: 20: 43.238 OSDDriverClient Виконує командний рядок: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "WINDOWS" /apply-unattend: "C: _SMSTaskSequencePkgMgrTempdism.log"

11-22-2016 18: 21: 18.742 OSDDriverClient Виконує командний рядок: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "WINDOWS" /apply-unattend: "C: _SMSTaskSequencePkgMgrTempdism.log"

11-22-2016 18: 21: 23.704 OSDDriverClient Виконує командний рядок: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "WINDOWS" /apply-unattend: "C: _SMSTaskSequencePkgMgrTempdism.log"

11-22-2016 18: 21: 33.332 OSDDriverClient Виконує командний рядок: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "WINDOWS" /apply-unattend: "C: _SMSTaskSequencePkgMgrTempdism.log"

11-22-2016 18: 21: 35.256 OSDDriverClient Виконує командний рядок: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "WINDOWS" /apply-unattend: "C: _SMSTaskSequencePkgMgrTempdism.log"

11-22-2016 18: 21: 37.138 OSDDriverClient Виконує командний рядок: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "WINDOWS" /apply-unattend: "C: _SMSTaskSequencePkgMgrTempdism.log"

Під час останньої інсталяції драйвера не вдалося виконати таку помилку:

11-22-2016 18: 21: 37.138 OSDDriverClient Виконує командний рядок: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "WINDOWS" /apply-unattend: "C: _SMSTaskSequencePkgMgrTempdism.log"
11-22-2016 18:21:38.368 OSDDriverClient Процес завершений кодом виходу 2147500037
11-22-2016 18: 21: 38.368 OSDDriverClient uExitCode == 0, HRESULT = 80004005 (e: nts_sccm_releasesmsclientosdeploymentosddriverclientsysprepdriverinstaller.cpp, 548)
11-22-2016 18:21:38.368 OSDDriverClient Не вдалося з кодом повернення -2147467259
11-22-2016 18: 21: 38.368 OSDDriverClient AddPnPDriverToStore:
11-22-2016 18: 21: 38.368 OSDDriverClient Не вдалося додати драйвер до магазину драйверів. Код 0x80004005
11-22-2016 18: 21: 38.368 OSDDriverClient InstallDriver (iInstallParams-> sContentId, iInstallParams-> sSource, iInstallParams-> pBootCriticalInfo), HRESULT = 80004005 (e: nts_sccm_releasesmsclientosdeploymentosddriverclientdriverinstaller.cpp, 557)
11-22-2016 18: 21: 38.368 OSDDriverClient ReleaseSource () для C: _SMSTaskSequencePackagesC660005F.
11-22-2016 18: 21: 38.368 OSDDriverClient лічильник посилань 1 для вихідного C: _SMSTaskSequencePackagesC660005F перед випуском
11-22-2016 18: 21: 38.368 OSDDriverClient Випущено вирішене джерело C: _SMSTaskSequencePackagesC660005F
11-22-2016 18: 21: 38.368 OSDDriverClient pDriverInstaller-> InstallDriverPackage (sPackageId, pBootCriticalInfo);
11-22-2016 18: 21: 38.368 OSDDriverClient Не вдалося забезпечити драйвер. Код 0x80004005
11-22-2016 18: 21: 38.368 OSDDriverClient Вихід із кодом повернення 0x80004005
11-22-2016 18:21:38.384 TSManager Процес завершений кодом виходу 2147500037
11-22-2016 18: 21: 38.384 TSManager! ———————————————————————————————!
11-22-2016 18: 21: 38.399 TSManager Не вдалося виконати дію: застосувати пакет драйверів.
Невизначена помилка (помилка: 80004005; джерело: Windows)

Дивлячись на DISM.log Ви побачите команди, які збігаються з тим самим тимчасовим кадру з SMSTS.log. У цьому випадку ми намагаємося встановити драйвери 9 разів:

11-22-2016 18: 20: 35.000 DISM DISM.EXE: Виконання командного рядка: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "/Logpath :"C: _SMSTaskSequencePkgMgrTempdism.log"

11-22-2016 18: 20: 37.000 DISM DISM.EXE: Виконання командного рядка: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "/Logpath :"C: _SMSTaskSequencePkgMgrTempdism.log"

11-22-2016 18: 20: 39.000 DISM DISM.EXE: Виконання командного рядка: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "/Logpath :"C: _SMSTaskSequencePkgMgrTempdism.log"

11-22-2016 18: 20: 43.000 DISM DISM.EXE: Виконання командного рядка: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "/Logpath :"C: _SMSTaskSequencePkgMgrTempdism.log"

11-22-2016 18: 21: 18.000 DISM DISM.EXE: Виконання командного рядка: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "/Logpath :"C: _SMSTaskSequencePkgMgrTempdism.log"

11-22-2016 18: 21: 23.000 DISM DISM.EXE: Виконання командного рядка: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "/Logpath :"C: _SMSTaskSequencePkgMgrTempdism.log"

11-22-2016 18: 21: 33.000 DISM DISM.EXE: Виконання командного рядка: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "/Logpath :"C: _SMSTaskSequencePkgMgrTempdism.log"

11-22-2016 18: 21: 35.000 DISM DISM.EXE: Виконання командного рядка: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "/Logpath :"C: _SMSTaskSequencePkgMgrTempdism.log"

11-22-2016 18: 21: 37.000 DISM DISM.EXE: Виконання командного рядка: "X: WINDOWSsystem32dism.exe" / image: "C:" / windir: "/Logpath :"C: _SMSTaskSequencePkgMgrTempdism.log"

Більшість установок драйверів будуть працювати. Проте останній не вдасться виконати таке повідомлення про помилку

11-22-2016 18: 21: 38.000 CBS Завантаження кулі реєстру: schema.dat, у ключ реєстру '{bf1a281b-ad7b-4476-ac95-f47682990ce7} C: / Windows / system32 / smi / store / Machine / schema. dat 'з шляху'? C: Windowssystem32smistoreMachineschema.dat '.
11-22-2016 18: 21: 38.000 CBS Не вдалося завантажити автономний вулик schema.dat з "? C: Windowssystem32smistoreMachineschema.dat" в ключ реєстру '{bf1a281b-ad7b-4476-ac95-f47682990ce7} C: / Windows / system32 / smi / store / Machine / schema.dat '. [HRESULT = 0x80070020 - ERROR_SHARING_VIOLATION]
11-22-2016 18: 21: 38.000 CBS Не вдалося завантажити кут схеми SMI [HRESULT = 0x80070020 - ERROR_SHARING_VIOLATION]
11-22-2016 18: 21: 38.000 CBS Не вдалося завантажити автономний магазин з директорії завантаження: '? C:' і windows каталог: "C: Windows" [HRESULT = 0x80070020 - ERROR_SHARING_VIOLATION]
11-22-2016 18: 21: 38.000 CBS Не вдалося ініціалізувати параметри зберігання за допомогою завантажувального диска: C: і windows каталог: C: Windows [HRESULT = 0x80070020 - ERROR_SHARING_VIOLATION]
11-22-2016 18: 21: 38.000 DISM Диспетчер пакунків: PID = 2232 Помилка ініціалізації сеансу - CDISMPackageManager :: RefreshInstanceAndLock(hr: 0x80070020)
11-22-2016 18: 21: 38.000 DISM DISM Диспетчер пакетів: PID = 2232 Не вдалося виконати внутрішню ініціалізацію - CDISMPackageManager :: Initialize(hr: 0x80070020)
11-22-2016 18: 21: 38.000 DISM Магазин провайдера DISM: PID = 2232 Не вдалося викликати метод ініціалізації на IDismServicingProvider Interface - CDISMProviderStore :: Internal_LoadProvider(hr: 0x80070020)
11-22-2016 18: 21: 38.000 DISM Магазин постачальника DISM: PID = 2232 Не вдалося завантажити постачальника: C: _SMSTaskSequencePkgMgrTemp5329B70A-F697-49DD-98B7-63628584B5C7CbsProvider.dll. - CDISMProviderStore :: Internal_GetProvider(hr: 0x80070020)

Зауважте, що головне повідомлення про помилку - 0x80070020 ERROR_SHARING_VIOLATION. Також у DISM.log ви можете побачити повідомлення про помилки, доступ до яких було заборонено, наприклад, таке повідомлення про помилку:

11-22-2016 18: 21: 38.000 CBS Не вдалося вивантажити реєстр: {bf1a281b-ad7b-4476-ac95-f47682990ce7} C: /Users/default/ntuser.dat. [HRESULT = 0x80070005 - E_ACCESSDENIED]

Це фактично нормальне і не смертельне. Чи не стосується цього питання. Якщо ви перевіряєте іншу успішну установку драйвера, ви побачите подібні помилки, які не були смертельними.

Це питання насправді не є новим для ADK 10 1607 і було видно з попередніми версіями ADK і ConfigMgr. У попередніх версіях ADK і ConfigMgr це питання було дуже рідкісним і в основному спостерігалося лише тоді, коли клієнти виконували зміни в WinPE, що збільшувало продуктивність під час послідовності завдань. У наступній статті в блозі наведено один такий метод:

Скорочення часу розгортання Windows за допомогою керування живленням
https://blogs.technet.microsoft.com/deploymentguys/2015/03/26/reducing-windows-deployment-time-using-power-management/

Якщо ви робите будь-які зміни, наприклад, з вищезгаданої статті блогу, ми рекомендуємо тимчасово вимкнути ці зміни для вирішення проблеми.

Ми вважаємо, що проблема стала більш поширеною з ADK 10 1607 завдяки можливим оптимізаціям продуктивності в ADK, DISM, ConfigMgr або будь-якій комбінації цих трьох. Більшість звітів з цього питання, здається, вказують на те, що проблема в основному з Windows 7. Однак ми не думаємо, що це питання є специфічним Windows 7 як ми бачили, проблема виникає в інших версіях Windows Windows 7. Ми вважаємо, що проблема може бути більш схильною до виникнення Windows 7 інсталяцій через більшу кількість потрібних драйверів Windows 7.

Питання ще розслідується, хоча на сьогодні не відома повна причина.

дозвіл

Хоча корпорація Майкрософт досліджує цю проблему, ми надаємо деякі обхідні шляхи, які усувають проблему. Два обхідні шляхи все ще використовуються Пакунки драйверів під час останнього обходу використовуйте Автоматичне застосування драйверів завдання. На високому рівні три обхідні шляхи працюють наступним чином:

  1. Обхідний шлях 1 намагається спочатку скористатися завданням Застосувати пакет драйверів. Якщо це не вдасться, то він знову намагається інсталювати драйвери, але цього разу, використовуючи DISM безпосередньо і використовуючи інший командний рядок DISM, який не запускається в проблему. Командний рядок DISM використовує вміст драйвера, який вже завантажено за допомогою програми «Застосувати драйвер». Це обхідне рішення вирішує проблему, лише маючи ініціювати одне завантаження / вивантаження реєстру під час процесу ін'єкції драйвера DISM.
  2. Обхідний шлях 2 взагалі не використовує пакет "Застосувати драйвер". Замість цього він використовує завдання завантаження пакунків, щоб спочатку завантажити пакет драйверів у вказаний каталог, а потім, використовуючи більш-менш ту саму командний рядок з Workaround 1, встановить драйвери. Це обхідне рішення також вирішує проблему, лише з необхідністю ініціювання одного завантаження / вивантаження реєстру під час процесу ін'єкції драйвера DISM.
  3. Обхідний шлях 3 використовує задачу Auto Apply Driver Package (Автоматичне застосування драйверів), але обмежує встановлення драйверів лише для тих, що входять до комплекту драйверів для конкретної моделі ПК. Обмеження здійснюється за допомогою категорії драйверів, яка є унікальною для драйверів у конкретному пакеті драйверів. Це обхідне рішення вирішує проблему, оскільки час між ін'єкціями диска DISM є більшим, оскільки водій повинен бути завантажений між ін'єкціями водія. Це дає DISM більше часу для завершення завантаження / вивантаження реєстру. Зверніть увагу, що теоретично все ще можливо вразити проблему, використовуючи обхідний шлях, хоча шанси на її виникнення значно зменшилися.

Доводи за і проти кожної обхідної проблеми детально описано в кінці статті.

Рішення # 1 - Повторіть встановлення драйвера за допомогою команди DISM, якщо не вдасться застосувати завдання Package Driver

Зверніть увагу, що наведені нижче інструкції стосуються однієї особи Застосувати пакет драйверів завдання. Вам потрібно буде повторити процес для кожної особи Застосувати пакет драйверів завдання (зазвичай специфічна для моделі ПК), яку ви маєте в Послідовності завдань. Нижче наведено скріншоти Surface Pro 3 як приклад моделі ПК:

  1. У консолі ConfigMgr клацніть правою кнопкою миші на відповідній послідовності завдань і виберіть редагувати.

    1-1
  2. Натисніть на Застосувати пакет драйверів завдання.
    1-2
  3. В Застосувати пакет драйверів , натисніть на опції Вкладка, а потім виберіть Продовжити з помилкою.

    1-3
  4. Негайно після Застосувати пакет драйверів додати нове Group шляхом переходу до додавати і виберіть Нова група.

    1-4
  5. Клацніть на щойно створеному Group, в ім'я: вкажіть ім'я Повторити спробу, якщо не вдалося (це може бути будь-яке ім'я за вашим вибором).
    1-5
  6. на Повторити спробу, якщо не вдалося натисніть групу На вкладці Параметри, а потім натисніть на Додати умову Меню і виберіть Змінна послідовності завдань.
    1-6
  7. В Змінна послідовності завдань поле умова ввести наступні значення:

    Змінна:
    _SMSTSLastActionSucceeded

    стан:
    дорівнює

    Значення:
    false

    Натисніть на OK кнопки.
    1-7
    1-7a
  8. Відповідно до Повторити спробу, якщо не вдалося до групи Встановити змінну послідовності завдань завдання, перейшовши до додавати і виберіть загальний - -> Встановити змінну послідовності завдань.

    1-8
  9. Клацніть на щойно створеному Встановити змінну послідовності завдань завдання, а потім налаштувати наступним чином:

    ім'я:
    Вкажіть, чи не дозволяти непідписані драйвери

    Змінна послідовності завдань:
    OSDAllowUnsignedDriver

    Значення:
    Встановити правда щоб дозволити встановлення непідписаних драйверів. Встановлений в false не допускати встановлення непідписаних драйверів.
    правда
    1-9t
    false
    1-9f
  10. Негайно після Вкажіть, чи не дозволяти непідписані драйвери завдання і під Повторити спробу, якщо не вдалося до групи Запустіть командний рядок завдання, перейшовши до додавати і виберіть загальний - -> Запустіть командний рядок.

    1-10
  11. Клацніть на щойно створеному Запустіть командний рядок завдання, а потім налаштувати наступним чином:

    ім'я:
    Встановіть драйвери за допомогою DISM Recurse - No Unsigned

    Командний рядок:
    DISM.exe / Image:% OSDTargetSystemDrive% / Додати-драйвер / драйвер:% _ SMSTSPackageCacheLocation <Driver_Package_ID>% / Recurse /logpath:%_SMSTSLogPath%dism.log

    Замініть значення <Driver_Package_ID> з Ідентифікатор пакету драйверів в пакет драйверів зазначено на етапі 2. Не включати дужки (<>). Наприклад % _SMSTSPackageCacheLocationC6200030%.
    1-11
    повне г, повне г,, показали, від, номер, XNUMX Ідентифікатор пакету драйверів в пакет драйверів можна отримати, натиснувши на Пакунки драйверів вузол в консолі ConfigMgr і перевіряє Ідентифікатор пакета стовпець (додайте цей стовпець, якщо його не видно).
    1-11a
  12. В Встановіть драйвери за допомогою DISM Recurse - No Unsigned , натисніть на опції , а потім натисніть кнопку Додати умову Меню і виберіть Змінна послідовності завдань.
    1-12
  13. В Змінна послідовності завдань поле умова ввести наступні значення:

    Змінна:
    OSDAllowUnsignedDriver

    стан:
    дорівнює

    Значення:
    false

    Натисніть на OK кнопки.
    1-13
    1-13a
  14. Хоча ще під опції вкладка в Встановіть драйвери за допомогою DISM Recurse - No Unsigned завдання, додайте 50 як додатковий код успіху (не видаляйте 0 or 3010). Код помилки 50 повертається, коли DISM намагається встановити драйвер, який не підписаний, і / forceunsigned перемикач не використовується. Помилка не є фатальною, і DISM продовжуватиме встановлювати додаткові драйвери.
    1-14
  15. Негайно після Встановіть драйвери за допомогою DISM Recurse - No Unsigned завдання і під Повторити спробу, якщо не вдалося групи, додайте секунду Запустіть командний рядок завдання, перейшовши до додавати і виберіть Генеруватиl - -> Запустіть командний рядок.

    1-15
  16. Клацніть на щойно створеному Запустіть командний рядок завдання, а потім налаштувати наступним чином:

    ім'я:
    Встановіть драйвери за допомогою DISM Recurse - Allow Unsigned

    Командний рядок:
    DISM.exe / Image:% OSDTargetSystemDrive% / Додати-драйвер / драйвер:% _ SMSTSPackageCacheLocation <Driver_Package_ID>% / Recurse / forceunsigned /logpath:%_SMSTSLogPath%dism.log

    Замініть значення <Driver_Package_ID> з Ідентифікатор пакету драйверів в пакет драйверів зазначено на етапі 2. Не включати дужки (<>). Наприклад % _SMSTSPackageCacheLocationC6200030%.
    1-16
    повне г, повне г,, показали, від, номер, XNUMX Ідентифікатор пакету драйверів в пакет драйверів можна отримати, натиснувши на Пакунки драйверів вузол в консолі ConfigMgr і перевіряє Ідентифікатор пакета стовпець (додайте цей стовпець, якщо його не видно).
    1-16a
  17. В Встановіть драйвери за допомогою DISM Recurse - Allow Unsigned , натисніть на опції , а потім натисніть кнопку Додати умову Меню і виберіть Змінна послідовності завдань.
    1-17
  18. В Змінна послідовності завдань поле умова ввести наступні значення:

    Змінна:
    OSDAllowUnsignedDriver

    стан:
    дорівнює

    Значення:
    правда
    Натисніть на OK кнопки.
    1-18
    1-18a
  19. Натисніть на OK or застосовувати для збереження послідовності завдань.
    1-19
  20. Повторіть кроки 1-19 для будь-яких додаткових Застосувати пакет драйверів завдання.

Примітки:

  1. У нашому тестуванні обхідного шляху ми побачили певні проблемні драйвери, де INF-файл драйвера відноситься до файлів, які не існують у вихідних файлах драйверів. Це призводить до того, що код помилки 2 буде повернено за допомогою DISM для цих драйверів. Хоча в кінцевому рахунку DISM бачить це як нефатальна помилка і продовжує встановлювати додаткові драйвери, це може призвести до Запустіть командний рядок завдання з кроків 15 або 20, щоб повідомити про помилку, навіть якщо всі непроблемні драйвери успішно встановлені. Щоб усунути цю проблему, можна виконати одну з таких дій:
    • Відповідно до опції вкладка в Запустіть командний рядок завдання на етапах 15 і 20, додайте 2 як код успіху в Коди успіху: текстове вікно. Не видаляйте інші коди успіху, які вже є в Коди успіху: текстове вікно. Додаткові відомості про додавання додаткових кодів успіху див. У розділі 18 Коди успіху: текстове вікно.
    • Видаліть проблемні драйвери з пакет драйверів. Проблемний драйвер можна визначити, подивившись на те, що встановлено драйвером невдало (зокрема, код помилки 2) в DISM.log.
    • Відповідно до опції вкладка в Запустіть командний рядок Завдання з кроків 15 і 20, перевірте опцію Продовжити з помилкою. Цей метод не рекомендується, хоча це може потенційно приховати інші помилки, які можуть виникнути.
  2. Етапи 8 і 9 можна усунути, встановивши значення змінної OSDAllowUnsignedDriver за допомогою інших методів, таких як змінні колекції або об'єкти.
  3. Якщо встановлення непідписаних драйверів є завжди бажаним або не бажаним, то деякі кроки можуть бути усунені. Щоб усунути непотрібні кроки, виконайте лише наведені нижче дії.
    • Завжди дозволяти непідписані драйвери - виконайте дії 1-7, 10-11, 14, 19-20
    • Ніколи не дозволяти непідписані драйвери - виконайте дії 1-7, 15-16, 19-20

Рішення #2 - Завантажити пакет драйверів за допомогою завдання завантаження пакета завантаження, а потім встановити драйвери за допомогою команди DISM

Зверніть увагу, що наведені нижче інструкції стосуються однієї особи Застосувати пакет драйверів завдання. Вам потрібно буде повторити процес для кожної особи Застосувати пакет драйверів завдання (зазвичай специфічна для моделі ПК), яку ви маєте в Послідовності завдань. Нижче наведено скріншоти Surface Pro 3 як приклад моделі ПК:

  1. У консолі ConfigMgr клацніть правою кнопкою миші на відповідній послідовності завдань і виберіть редагувати.
    2-1
  2. Натисніть на Застосувати пакет драйверів завдання.
    2-2
  3. В Застосувати пакет драйверів , натисніть на опції Вкладка, а потім виберіть Вимкніть цей крок.
    2-3
  4. В Застосувати пакет драйверів завдання, під опції копію табуляції та зауважте будь-які умови, які знаходяться в цьому завданні.
    2-4
    2-4a
  5. Негайно після Застосувати пакет драйверів додати нове Group шляхом переходу до додавати і виберіть Нова група.
    2-5
  6. Клацніть на щойно створеному Group, в ім'я: вкажіть ім'я Встановіть драйвери для моделі x. Замініть Модель x для модельного ПК, для якого ви встановлюєте драйвери (це ім'я може бути будь-яким ім'ям).
    2-6
  7. на Встановіть драйвери для моделі x натисніть групу На вкладці Параметри. Скопіюйте всі умови, які були позначені на етапі 4.
    2-7
    2-7a
  8. Відповідно до Встановіть драйвери для моделі x до групи Встановити змінну послідовності завдань завдання, перейшовши до додавати і виберіть загальний - -> Встановити змінну послідовності завдань.
    2-8
  9. Клацніть на щойно створеному Встановити змінну послідовності завдань завдання, а потім налаштувати наступним чином:

    ім'я:
    Вкажіть, чи не дозволяти непідписані драйвери

    Змінна послідовності завдань:
    OSDAllowUnsignedDriver

    Значення:
    Встановити правда щоб дозволити встановлення непідписаних драйверів. Встановлений в false не допускати встановлення непідписаних драйверів.
    правда
    2-9t
    false
    2-9f
  10. Відповідно до Встановіть драйвери для моделі x до групи Завантажити вміст пакета завдання, перейшовши до додавати і виберіть програмне забезпечення - -> Завантажити вміст пакета.

    2-10
  11. В Завантажити вміст пакета , натисніть на жовтий значок зірочки.

    2-11
  12. В Виберіть пакет вікна, знайдіть і натисніть на пакет драйверів для моделі ПК і натисніть кнопку OK. Зверніть увагу, що все Пакунки драйверів буде під Корінь папки. Користувацькі папки в розділі Пакунки драйверів вузол не зберігається в цьому вікні вибору.

    2-12
    2-12a
  13. В Завантажити вміст пакета Натисніть на опцію Спеціальний шлях: а потім введіть таке значення:

    % _SMSTSMDataPath% Драйвери
    2-13
  14. Негайно після Завантажити вміст пакета завдання і під Встановіть драйвери для моделі x до групи Запустіть командний рядок завдання, перейшовши до додавати і виберіть загальний - -> Запустіть командний рядок.

    2-14
  15. Клацніть на щойно створеному Запустіть командний рядок завдання, а потім налаштувати наступним чином:

    ім'я:
    Встановіть драйвери за допомогою DISM Recurse - No Unsigned

    Командний рядок:
    DISM.exe / Зображення:% OSDTargetSystemDrive% / Додати-драйвер / драйвер:% _ SMSTSMDataPath% Драйвери / Рекурси / Логотип:% _SMSTSLogPath%dism.log
    2-15
  16. В Встановіть драйвери за допомогою DISM Recurse - No Unsigned , натисніть на опції , а потім натисніть кнопку Додати умову Меню і виберіть Змінна послідовності завдань.
    2-16
  17. В Змінна послідовності завдань поле умова ввести наступні значення:

    Змінна:
    OSDAllowUnsignedDriver

    стан:
    дорівнює

    Значення:
    false

    Натисніть на OK button
    2-17
    2-17a
  18. Хоча ще під опції вкладка в Встановіть драйвери за допомогою DISM Recurse - No Unsigned завдання, додайте 50 як додатковий код успіху (не видаляйте 0 or 3010). Код помилки 50 повертається, коли DISM намагається встановити драйвер, який не підписаний, і / forceunsigned перемикач не використовується. Помилка не є фатальною, і DISM продовжуватиме встановлювати додаткові драйвери.
    2-18
  19. Негайно після Встановіть драйвери за допомогою DISM Recurse - No Unsigned завдання і під Встановіть драйвери для моделі x групи, додайте секунду Запустіть командний рядок завдання, перейшовши до додавати і виберіть Генеруватиl - -> Запустіть командний рядок
    2-19
  20. Клацніть на щойно створеному Запустіть командний рядок завдання, а потім налаштувати наступним чином:

    ім'я:
    Встановіть драйвери за допомогою DISM Recurse - Allow Unsigned

    Командний рядок:
    DISM.exe / Image:% OSDTargetSystemDrive% / Додати-драйвер / драйвер:% _ SMSTSMDataPath% Драйвери / Recurse / forceunsigned /logpath:%_SMSTSLogPath%dism.log
    2-20
  21. В Встановіть драйвери за допомогою DISM Recurse - Allow Unsigned , натисніть на опції , а потім натисніть кнопку Додати умову Меню і виберіть Змінна послідовності завдань.
    2-21
  22. В Змінна послідовності завдань поле умова ввести наступні значення:

    Змінна:
    OSDAllowUnsignedDriver

    стан:
    дорівнює

    Значення:
    правда

    Натисніть на OK button
    2-22
    2-22a
  23. Натисніть на OK or застосовувати для збереження послідовності завдань.
    2-23
  24. Повторіть кроки 1-23 для будь-яких додаткових Застосувати пакет драйверів завдання

Примітки:

  1. У нашому тестуванні обхідного шляху ми побачили певні проблемні драйвери, де INF-файл драйвера відноситься до файлів, які не існують у вихідних файлах драйверів. Це призводить до того, що код помилки 2 буде повернено за допомогою DISM для цих драйверів. Хоча в кінцевому рахунку DISM бачить це як нефатальна помилка і продовжує встановлювати додаткові драйвери, це може призвести до Запустіть командний рядок завдання з кроків 11 або 16, щоб повідомити про помилку, навіть якщо всі непроблемні драйвери успішно встановлені. Щоб усунути цю проблему, можна виконати одну з таких дій:
    • Відповідно до опції вкладка в Запустіть командний рядок завдання на етапах 11 і 16, додайте 2 як код успіху в Коди успіху: текстове вікно. Не видаляйте інші коди успіху, які вже є в Коди успіху: текстове вікно. Додаткові відомості про додавання додаткових кодів успіху див. У розділі 18 Коди успіху: текстове вікно.
    • Видаліть проблемні драйвери з пакет драйверів. Проблемний драйвер можна визначити, подивившись на те, що встановлено драйвером невдало (зокрема, код помилки 2) в DISM.log.
    • Відповідно до опції вкладка в Запустіть командний рядок Завдання з кроків 11 і 16, перевірте опцію Продовжити з помилкою. Цей метод не рекомендується, хоча це може потенційно приховати інші помилки, які можуть виникнути.
  2. Етапи 8 і 9 можна усунути, встановивши значення змінної OSDAllowUnsignedDriver за допомогою інших методів, таких як змінні колекції або об'єкти.
  3. Якщо встановлення непідписаних драйверів є завжди бажаним або не бажаним, то деякі кроки можуть бути усунені. Щоб усунути непотрібні кроки, виконайте лише наведені нижче дії.
    • Завжди дозволяти непідписані драйвери - виконайте дії 1-7, 10-13, 14-15, 18, 23-24
    • Ніколи не дозволяти непідписані драйвери - виконайте дії 1-7, 10-13, 19-20, 23-24

Рішення #3 - Завдання драйверів Auto Apply, що встановлює драйвери тільки з конкретного пакета драйверів на основі категорій драйверів

Скоро

За і проти кожного обходу:

Рішення #1

профі

  1. Спершу спробує використати завдання застосувати драйвер. Якщо це вдасться, то обхідний шлях ніколи не вражає.

мінуси

  1. Необхідно вручну встановити ідентифікатор пакету драйверів в командних рядках DISM, що знаходяться в Запустіть командний рядок завдання.
  2. Потенційно може зайняти більше часу для запуску, оскільки перші спроби використовувати Застосувати пакет драйверів завдання. Якщо Застосувати пакет драйверів завдання не вдалося, то частина часу, витраченого на виконання завдання, буде витрачено даремно. Час виконання завдання, як і раніше, залишається корисним (наприклад, завантаження вмісту драйвера).

Рішення #2

профі

  1. Може бути швидше, оскільки вона ніколи не намагається Застосувати пакет драйверівТаким чином, на провал не витрачається часу.
  2. Не потрібні будь-які модифікації командних рядків DISM, знайдених у Запустіть командний рядок завдання.

мінуси

  1. Ніколи не намагається використати вимкнену коробку Застосувати пакет драйверів завдання.
  2. Необхідна передача умов з Росії Застосувати пакет драйверів завдання Встановіть драйвер група.
  3. Має більш загальні кроки

Рішення #3

профі

  1. До сховища автономних драйверів операційної системи додаються лише драйвери, які фактично виявлені на пристрої.

мінуси

  1. Можливо, це може призвести до виникнення проблеми, якщо деякі завантаження драйверів невеликі.
  2. Про #1, перераховані вище, може бути con, якщо адміністратор хоче змусити всіх драйверів у пакет драйверів для додавання до автономного сховища драйверів ОС. Це може бути використано для обліку апаратних засобів, які наразі не підключені до пристрою, але можуть бути підключені пізніше (наприклад, принтери).
  3. Ніколи не намагається використати вимкнену коробку Застосувати пакет драйверів завдання.
  4. У деяких сценаріях може знадобитися більше часу, оскільки на пристрої потрібно провести сканування апаратних засобів і відповідні драйвери, розташовані через запит до MP.

Френк Рохас
Старший інженер з ескалації підтримки

джерело

залишити коментар

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.