===== Развёртывание Windows 10 в SCCM 2012 R2 - Дубли UUID материнских плат =====
Достаточно часто можно сталкиваться с проблемой __дублирующихся__ **UUID** материнской платы, тем самым мы будем иметь невозможность загрузки по сети и выполнения доступных последовательностей задач из **WinPE**.
Подобная проблема всегда отражается в логе **SMSPXE.log** на сайт-сервере, где регистрируются сообщения типа:
{{ :microsoft-windows:windows-10:enterprise-deployment-windows-10-with-sccm-2012-r2:pasted:20170130-154936.png }}
Для решения проблемы с загрузкой **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**)
В итоге фрагмент изменённого кода хранимой процедуры будет выглядеть так:
{{ :microsoft-windows:windows-10:enterprise-deployment-windows-10-with-sccm-2012-r2:pasted:20170130-155602.png }}
Затем найдём хранимую процедуру **MP_GetClientIDFromSmbiosID** (**Programmability** > **Stored Procedures** > **dbo.MP_GetClientIDFromSmbiosID**)
Найдём и закомментируем строку:
(M.SMBIOS_GUID0 = @vchSmbiosID)
Ниже добавим строку:
(M.SMBIOS_GUID0 = @vchSmbiosID + ‘.’)
Выполним указанный код (**Execute**)
В итоге фрагмент изменённого кода хранимой процедуры будет выглядеть так:
{{ :microsoft-windows:windows-10:enterprise-deployment-windows-10-with-sccm-2012-r2:pasted:20170130-155712.png }}
Таким образом мы "обманем" механизм проверки существования UUID в БД. То есть при проверке к оригинальному BIOS GUID компьютера в конце просто будет добавляться лишний символ — точка, а компьютера с таким UUID в БД разумеется обнаруживаться не будет, и процедура проверки будет считать, что компьютер уникален и будет разрешать запуск процесса развёртывания ОС.
Стоит помнить, что после применений обновлений к Configuration Manager, возможно код хранимой процедуры будет возвращён в исходное состояние, и нам снова потребуется его корректировка.
----
{{:user:vyakob.png?50&nolink |}} Автор первичной редакции:\\ [[user:vyakob|Виталий Якоб]] \\ Время публикации: 30.01.2017 14:30
{{tag>Microsoft "System Center 2012 R2" SCCM ConfigMgr "Windows 10" Deployment OSD Troubleshooting UUID "BIOS GUID" WDS PXE}}
~~DISCUSSION~~