PDA

Показать полную графическую версию : выжать максимум при билде референсного образа через Offline Servicing


LevT2
16-02-2017, 19:05
подскажите готовый скрипт или полуфабрикат для сборки двуязычного образа с английским исходником, предпочтительно Powershell
предпочитаю запихнуть туда сразу максимум, всё что в принципе впихуется


хочу единственный скрипт для клиентских и серверных версий 10/2016 для себя любимого, от обновлений и отключения IE ESC и докуда получится - вплоть до настроек дефолтного профиля, таких как показ расширений в проводнике.


начинаю с такого


$Setup = "E:\Setup"
$ISO = "$Setup\ISO\Windows Server 2016.iso"
$CU = "$Setup\Cumulative Update for Windows Server 2016 for x64-based Systems (KB4010672)\windows10.0-kb4010672-x64_e12a6da8744518197757d978764b6275f9508692.msu"

$MountFolder = "E:\Mount"
$RefImage = "$Setup\REFWS2016-001.wim"

# Verify that the ISO and CU files existnote
if (!(Test-Path -path $ISO)) {Write-Warning "Could not find Windows Server 2016 ISO file. Aborting...";Break}
if (!(Test-Path -path $CU)) {Write-Warning "Cumulative Update for Windows Server 2016. Aborting...";Break}

# Mount the Windows Server 2016 ISO
Mount-DiskImage -ImagePath $ISO
$ISOImage = Get-DiskImage -ImagePath $ISO | Get-Volume
$ISODrive = [string]$ISOImage.DriveLetter+":"

# Extract the Windows Server 2016 Standard index to a new WIM
Export-WindowsImage -SourceImagePath "$ISODrive\Sources\install.wim" -SourceName "Windows Server 2016 SERVERSTANDARD" -DestinationImagePath $RefImage

# Add the KB******* CU to the Windows Server 2016 Standardimage
if (!(Test-Path -path $MountFolder)) {New-Item -path $MountFolder -ItemType Directory}
Mount-WindowsImage -ImagePath $RefImage -Index 1 -Path $MountFolder
Add-WindowsPackage -PackagePath $CU -Path $MountFolder

# Add .NET Framework 3.5.1 to the Windows Server 2016 Standard image
Add-WindowsPackage -PackagePath $ISODrive\sources\sxs\microsoft-windows-netfx3-ondemand-package.cab -Path $MountFolder

# Dismount the Windows Server 2016 Standard image
DisMount-WindowsImage -Path $MountFolder -Save

# Dismount the Windows Server 2016 ISO
Dismount-DiskImage -ImagePath $ISO

LevT2
17-02-2017, 00:18
Кажется, понял, с чего начать: по максимуму использовать appx пакеты
Где водятся статьи и примеры на эту тему?

Vadikan
18-02-2017, 14:43
по максимуму использовать appx пакеты »Может, .ppkg? Provisioning packages (https://msdn.microsoft.com/en-us/library/windows/hardware/mt147447(v=vs.85).aspx) (часть Customize using the Windows Provisioning framework (https://msdn.microsoft.com/en-us/library/windows/hardware/dn898375(v=vs.85).aspx))

LevT2
18-02-2017, 16:21
Такс...
оказывается, я их путал :shuffle:

MSDN я разумеется знаю, а вот готовые примеры кто-нибудь уже выкладывал?

Vadikan
18-02-2017, 17:06
LevT2, берете мануал и по нему создаете с icd https://msdn.microsoft.com/en-us/library/windows/hardware/dn916115(v=vs.85).aspx Это надо все самому пройти...

LevT2
18-02-2017, 18:21
Огромное спасибо за последнюю ссылку: её я не знал.
Остается только вопрос: а к 2016 можно применить .ppkg?

Vadikan
19-02-2017, 03:44
Нет
https://msdn.microsoft.com/en-us/library/windows/hardware/dn916114(v=vs.85).aspx

LevT2
19-02-2017, 11:12
Vadikan,
официальная позиция мне известна
интересуют достижения сообщества в этой именно области, если они имеются.

Просто если "низзя от слова совсем" - то для единообразия настроек для себя любимого, регулярно деплоящего сервера, этой технологии следует избегать.
Тогда возвращаемся к исходному вопросу.

Vadikan
19-02-2017, 14:18
LevT2, я не знаю, что вам известно, а что нет. Особенно с учетом идеи готовить сервер неподдерживаемым способом. См. Поддерживаемые и неподдерживаемые способы (http://www.outsidethebox.ms/15068/#_Toc356390047), включая картинку.

LevT2
19-02-2017, 14:43
Vadikan,

Просто исходная задача - соорудить _единообразную для клиентской и серверой осей_ кухню
В идеале - единый скрипт, в худшем случае MDT шару для референс билдов.

Я извращаться с переносом профилей не склонен: мне бы базовые вещи типа IE ESC, RDP и показа расширений файлов не накликивать каждый раз...
Если ppkg в сервере всё-таки никак (или вдруг... ?) - то:

1) Что ещё РАЗУМНО было бы впихнуть в единственный PS скрипт для максимально готового полуфабриката?
Возможно-то всё - вплоть до монтирования вимов и правки в них реестра - но это НЕ МОЙ путь.

2) если все-таки fallback to MDT - то до какой степени можно обойтись тасксеквенсами без раздельной генерации и настройки unattend.xml для каждой оси?
Тасксеквенсы я умею генерить почти автоматически.




© OSzone.net 2001-2012