service:wds
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
service:wds [21.12.2023 07:01] – [Обновление со WSUS из определённой группы] viacheslav | service:wds [30.07.2024 19:21] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== WDS ====== | ||
+ | ===== Смена каталога установки ===== | ||
+ | <code dos> | ||
+ | wdsutil / | ||
+ | robocopy \e \move " | ||
+ | wdsutil / | ||
+ | </ | ||
+ | https:// | ||
+ | ===== Альтернативы ===== | ||
+ | |||
+ | https:// | ||
+ | https:// | ||
+ | https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | ====== MDT ====== | ||
+ | ===== Установка ===== | ||
+ | MDT: https:// | ||
+ | ADK: https:// | ||
+ | |||
+ | ===== Настройка ===== | ||
+ | ===== Создать Deployment Share ===== | ||
+ | <code powershell> | ||
+ | Import-Module " | ||
+ | $shares = Get-MDTPersistentDrive | ||
+ | |||
+ | ### VAR | ||
+ | # Common | ||
+ | $mdtServerName = " | ||
+ | # Share - Create | ||
+ | $shareName = " | ||
+ | $shareDisk = ' | ||
+ | # Share - User for access | ||
+ | $shareUser = " | ||
+ | |||
+ | # Create share | ||
+ | $shareFolder = $shareName -replace ' | ||
+ | $shareNum = " | ||
+ | mkdir -Path " | ||
+ | New-SmbShare -Name " | ||
+ | new-PSDrive -Name $shareNum -PSProvider " | ||
+ | # Set permissions to share user | ||
+ | icacls.exe " | ||
+ | Grant-SmbShareAccess -Name " | ||
+ | </ | ||
+ | |||
+ | ===== Добавить приложение ===== | ||
+ | Здесь - в режиме " | ||
+ | <code powershell> | ||
+ | Import-Module " | ||
+ | |||
+ | function Add-MDTApp ($shareName, | ||
+ | $share = Get-MDTPersistentDrive |? description -match $shareName | ||
+ | New-PSDrive -Name $share.name -PSProvider MDTProvider -Root $share.path | ||
+ | Import-MDTApplication -Path " | ||
+ | } | ||
+ | |||
+ | Add-MDTApp -shareName " | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Добавить/ | ||
+ | Добавить | ||
+ | <code powershell> | ||
+ | Import-Module " | ||
+ | New-PSDrive -Name " | ||
+ | new-item -path " | ||
+ | new-item -path " | ||
+ | </ | ||
+ | Удалить | ||
+ | <code powershell> | ||
+ | Import-Module " | ||
+ | New-PSDrive -Name " | ||
+ | remove-item -path " | ||
+ | </ | ||
+ | |||
+ | ===== Драйверы ===== | ||
+ | Configure the Inject Drivers task sequence step action with the following settings:\\ | ||
+ | Choose a selection profile: Nothing\\ | ||
+ | Install all drivers from the selection profile | ||
+ | |||
+ | The configuration above indicates that MDT should only use drivers from the folder specified by the DriverGroup001 property, which is defined by the " | ||
+ | |||
+ | For more information, | ||
+ | [[https:// | ||
+ | [[https:// | ||
+ | |||
+ | ===== Задачи ===== | ||
+ | ==== Конвертация ESD в WIM ==== | ||
+ | Если в ISO образ install.esd, | ||
+ | <code powershell> | ||
+ | $imgFrom = " | ||
+ | $imgTo = " | ||
+ | # Выяснить, | ||
+ | Get-WindowsImage -ImagePath $imgFrom | ||
+ | # Конвертировать, | ||
+ | $sourceIndex = 2 | ||
+ | Export-WindowsImage -SourceImagePath $imgFrom -DestinationImagePath $imgTo -SourceIndex $sourceIndex -CheckIntegrity -CompressionType max | ||
+ | </ | ||
+ | ==== Удаление встроенных приложений ==== | ||
+ | Размещение задачи: | ||
+ | Размещение скрипта в файловой системе: | ||
+ | Добавить задачу Powershell Script и вписать имя скрипта в строку " | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Добавить параметр '' | ||
+ | |||
+ | https:// | ||
+ | |||
+ | ==== Обновление со WSUS из определённой группы ==== | ||
+ | В customsettings.ini объявить свойство в разделе '' | ||
+ | Затем присвоить ему значение в '' | ||
+ | :!: Группу лучше писать на латинице и без пробелов, | ||
+ | |||
+ | < | ||
+ | [Settings] | ||
+ | Priority=Default | ||
+ | Properties=WSUSGroup | ||
+ | |||
+ | [Default] | ||
+ | WSUSGroup=wds | ||
+ | </ | ||
+ | |||
+ | В DeploymentShare, | ||
+ | |||
+ | <code vbscript> | ||
+ | If oEnvironment.Item(" | ||
+ | oShell.RegWrite " | ||
+ | oShell.RegWrite " | ||
+ | End if | ||
+ | </ | ||
+ | |||
+ | Финальный вид раздела: | ||
+ | <code vbscript> | ||
+ | '// | ||
+ | '// | ||
+ | '// | ||
+ | |||
+ | If oEnvironment.Item(" | ||
+ | |||
+ | ' Configure the WSUS server in the registry. | ||
+ | |||
+ | oLogging.CreateEntry " | ||
+ | |||
+ | oShell.RegWrite " | ||
+ | oShell.RegWrite " | ||
+ | |||
+ | If oEnvironment.Item(" | ||
+ | oShell.RegWrite " | ||
+ | oShell.RegWrite " | ||
+ | End if | ||
+ | |||
+ | End if | ||
+ | </ | ||
+ | |||
+ | [[https:// | ||
+ | [[https:// | ||
+ | |||
+ | После окончания настройки ПКМ на Deployment Share -> Update Deployment Share -> Completely regenerate boot images.\\ | ||
+ | На WDS импортировать wim-файл как загрузочный. | ||
+ | |||
+ | ==== Смена редакции Windows ==== | ||
+ | State Restore -> After Opt In to CEIP and WER | ||
+ | |||
+ | Convert to Enterprise | ||
+ | |||
+ | https:// | ||
+ | |||
+ | ===== Литература ===== | ||
+ | Документация по MDT: https:// | ||
+ | Создание эталонного образа: | ||
+ | [[https:// | ||
+ | Как установить Windows 11 22H2 (WDS + MDT) - [[https:// | ||
+ | Справка по параметрам MDT (customsettings.ini): | ||
+ | |||
+ | ===== Проблемы ===== | ||
+ | ==== Оснастка Deployment Workbench вылетает при заходе на вкладку Windows PE в свойствах установочной шары ==== | ||
+ | Решение - создать каталог '' | ||
+ | <code powershell> | ||
+ | mkdir ' | ||
+ | </ | ||
+ | |||
+ | ==== При загрузке образа по сети ошибка The value for the attribute is not valid : language, Code 80040049 ==== | ||
+ | < | ||
+ | Script: X: | ||
+ | Line: 2 | ||
+ | Char: 13 | ||
+ | Error: The value for the attribute is not valid : language | ||
+ | Code: 80040049 | ||
+ | Source: Windows Script Host | ||
+ | </ | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | - Install the most recent ADK from Microsoft. | ||
+ | - For the PE add-on, the most recent one that Microsoft is providing is a faulty one. | ||
+ | |||
+ | So download this one and it should be working fine: https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | - Go here, follow these instructions: | ||
+ | This issue is now fixed using the latest LCU KB5031373 or newer for Server Operating Systems. [[https:// | ||
+ | |More details here]].\\ | ||
+ | [[https:// | ||
+ | </ | ||
+ | - Next, [[https:// | ||
+ | - Go into MDT, right click your Deployment Share, choose Update Deployment Share, and choose to completely regenerate your boot image. | ||
+ | - Replace your image in WDS using the new boot image you just generated in Step 3 (it will be in ''< | ||
+ | |||
+ | ==== Не обновляется установочная шара ==== | ||
+ | < | ||
+ | === Making sure the deployment share has the latest x86 tools === | ||
+ | |||
+ | === Processing LiteTouchPE (x86) boot image === | ||
+ | |||
+ | Building requested boot image profile. | ||
+ | |||
+ | System.Management.Automation.CmdletInvocationException: | ||
+ | --- Конец трассировки внутреннего стека исключений --- | ||
+ | в Microsoft.BDD.Core.BDDWimFile..ctor(String wimPath, Boolean forUpdate) | ||
+ | в Microsoft.BDD.PSSnapIn.UpdateDeploymentPoint.UpdateBootImage(String template, String platform, String dpPath, Boolean createISO, String isoName) | ||
+ | в Microsoft.BDD.PSSnapIn.UpdateDeploymentPoint.ProcessRecord() | ||
+ | в System.Management.Automation.CommandProcessor.ProcessRecord() | ||
+ | --- Конец трассировки внутреннего стека исключений --- | ||
+ | в System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input) | ||
+ | в Microsoft.BDD.Wizards.UpdateProgress.WizardProcessing() | ||
+ | в Microsoft.BDD.Wizards.WizardProgress.InitiateWizardProcessing() | ||
+ | </ | ||
+ | |||
+ | Решение: | ||
+ | Обходной путь (не проверял): | ||
+ | |||
+ | According to the official article, this is by design. The last supported version of 32-bit WinPE is available in the WinPE add-on for Windows 10, version 2004. The 32-bit versions of Windows PE (WinPE) in the WinPE add-ons for Windows 11 and Windows Server 2022 aren't supported. | ||
+ | |||
+ | https:// | ||
+ | |||
+ | === Не генерируется Unattend.xml === | ||
+ | :!: В целом можно забить, | ||
+ | < | ||
+ | Выполнение операции " | ||
+ | Starting: " | ||
+ | |||
+ | ����ࠡ�⠭��� �᪫�祭��: | ||
+ | � Microsoft.BDD.Catalog.Program.DoCatalog() | ||
+ | � Microsoft.BDD.Catalog.Program.Main(String[] args) | ||
+ | |||
+ | Non-zero return code from catalog utility, rc = -532462766 | ||
+ | |||
+ | </ | ||
+ | |||
+ | === Failure (5616): 15299: Verify BCDBootEx === | ||
+ | Ошибка при разливке образа. Решение: | ||
+ | |||
+ | Поместить скрипт FixUEFIDetection.wsf в каталог Scripts в DeploymentShare | ||
+ | |||
+ | ++++ FixUEFIDetection.wsf | | ||
+ | |||
+ | <file vbscript FixUEFIDetection.wsf> | ||
+ | <job id=" | ||
+ | < | ||
+ | < | ||
+ | |||
+ | ' // *************************************************************************** | ||
+ | ' // File: FixUEFIDetection.wsf | ||
+ | ' // Version: | ||
+ | ' // Author: | ||
+ | ' // *************************************************************************** | ||
+ | |||
+ | oLogging.CreateEntry " | ||
+ | oLogging.CreateEntry " | ||
+ | |||
+ | If oEnvironment.Item(" | ||
+ | |||
+ | oLogging.CreateEntry "We are in WinPE, detecting firmware type from registry...", | ||
+ | |||
+ | ' Getting firmware type from WinPE registry | ||
+ | PEFirmwareType = oShell.Regread(" | ||
+ | |||
+ | oLogging.CreateEntry " | ||
+ | |||
+ | If PEFirmwareType = " | ||
+ | oLogging.CreateEntry " | ||
+ | oEnvironment.Item(" | ||
+ | Else | ||
+ | oLogging.CreateEntry " | ||
+ | oEnvironment.Item(" | ||
+ | End If | ||
+ | Else | ||
+ | oLogging.CreateEntry " | ||
+ | |||
+ | Set objShell = CreateObject(" | ||
+ | Set objExecObject = objShell.Exec(" | ||
+ | |||
+ | Do While Not objExecObject.StdOut.AtEndOfStream | ||
+ | strText = objExecObject.StdOut.ReadLine() | ||
+ | If Instr(strText, | ||
+ | oLogging.CreateEntry " | ||
+ | oEnvironment.Item(" | ||
+ | Exit Do | ||
+ | End If | ||
+ | Loop | ||
+ | |||
+ | If oEnvironment.Item(" | ||
+ | ' All good, do nothing | ||
+ | Else | ||
+ | oEnvironment.Item(" | ||
+ | End If | ||
+ | |||
+ | |||
+ | End If | ||
+ | |||
+ | |||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ++++ | ||
+ | |||
+ | Task Sequence -> Preinstall -> New Computer only -> создать задачу "Run Command Line" перед первой задачей Format and Partitions Disk и указать там на скрипт. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | https:// |