Развёртывание Windows 10 в SCCM 2012 R2 - Дубли UUID материнских плат

Достаточно часто можно сталкиваться с проблемой дублирующихся UUID материнской платы, тем самым мы будем иметь невозможность загрузки по сети и выполнения доступных последовательностей задач из WinPE.

Подобная проблема всегда отражается в логе SMSPXE.log на сайт-сервере, где регистрируются сообщения типа:

Для решения проблемы с загрузкой PXE на сервере WDS отредактируем ключ реестра, в который внесём все варианты дубликатов UUID материнских плат:

Куст реестраHKEY_LOCAL_MACHINE
ВеткаSYSTEM\CurrentControlSet\Services\WDSServer\Providers\WDSPXE
КлючBannedGuids
Тип значенияREG_MULTI_SZ

Либо внесём необходимо значение с помощью командной строки:

wdsutil /set-server /bannedguidpolicy /add /GUID:A1BA321E-681C-458D-AF75-3F1D2A7D0FE0

После изменения реестра нужно перезапустить службу WDSServer:

net stop WDSServer & net start WDSServer

Для того, чтобы «обмануть» SCCM, выполним правку в хранимых процедур в базе данных.

Откроем SQL Server Management Studio, подключимся к базе данных SCCM и найдём хранимую процедуру NBS_LookupDevice (Programmability > Stored Procedures > dbo.NBS_LookupDevice). Найдём и закомментируем строку:

ON xref.MachineID = aux.ItemKey AND aux.SMBIOS_GUID0 = @SMBIOS_GUID

Ниже добавим строку:

ON xref.MachineID = aux.ItemKey AND aux.SMBIOS_GUID0 = @SMBIOS_GUID +.

Выполним указанный код (Execute)

В итоге фрагмент изменённого кода хранимой процедуры будет выглядеть так:

Затем найдём хранимую процедуру MP_GetClientIDFromSmbiosID (Programmability > Stored Procedures > dbo.MP_GetClientIDFromSmbiosID)

Найдём и закомментируем строку:

(M.SMBIOS_GUID0 = @vchSmbiosID)

Ниже добавим строку:

(M.SMBIOS_GUID0 = @vchSmbiosID +.)

Выполним указанный код (Execute)

В итоге фрагмент изменённого кода хранимой процедуры будет выглядеть так:

Таким образом мы «обманем» механизм проверки существования UUID в БД. То есть при проверке к оригинальному BIOS GUID компьютера в конце просто будет добавляться лишний символ — точка, а компьютера с таким UUID в БД разумеется обнаруживаться не будет, и процедура проверки будет считать, что компьютер уникален и будет разрешать запуск процесса развёртывания ОС. Стоит помнить, что после применений обновлений к Configuration Manager, возможно код хранимой процедуры будет возвращён в исходное состояние, и нам снова потребуется его корректировка.


Автор первичной редакции:
Виталий Якоб
Время публикации: 30.01.2017 14:30