service:wds
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версия | |||
| service:wds [30.07.2024 19:21] – внешнее изменение 127.0.0.1 | service:wds [27.10.2025 09:29] (текущий) – удалено viacheslav | ||
|---|---|---|---|
| Строка 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:// | ||
service/wds.1722367260.txt.gz · Последнее изменение: — 127.0.0.1
