User Tools

Site Tools


деплой_образов

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
деплой_образов [2022/09/08 13:54] jpдеплой_образов [2024/11/01 10:26] (current) jp
Line 10: Line 10:
    dism /Get-WimInfo /WimFile:"E:\custom_distr\Win 10 Enterprise\sources\install.esd"    dism /Get-WimInfo /WimFile:"E:\custom_distr\Win 10 Enterprise\sources\install.esd"
 Теперь ищем и запоминаем нужный ID, после чего выполняем команду, которая разархивирует нужный образ: Теперь ищем и запоминаем нужный ID, после чего выполняем команду, которая разархивирует нужный образ:
 +<WRAP prewrap>
 +<code>
 +dism /Export-Image /SourceImageFile:"E:\custom_distr\Win 10 Enterprise\sources\install.esd" /SourceIndex:2 /DestinationImageFile:"E:\custom_distr\Win 10 Enterprise\sources\install.wim" /Compress:max /CheckIntegrity
 +</code>
 +</WRAP>
 +----
  
-   dism /Export-Image /SourceImageFile:"E:\custom_distr\Win 10 Enterprise\sources\install.esd" /SourceIndex:2 /DestinationImageFile:"E:\custom_distr\Win 10 Enterprise\sources\install.wim" /Compress:max /CheckIntegrity+=== Автоматический выбор быстрого диска для установки ===
  
-{{tag>Microsoft MECM MDT Deployment Windows}}+Проблема: по умолчанию task sequence в MECM выбирает для установки диск с номером 0. Но что, если диск с номером 0 - HDD, в то время, как быстрый диск SSD (или NVMe) в компьютере имеет другой номер? В этом случае система будет установлена на HDD. 
 + 
 +Чтобы этого избежать, в task sequence нужно встроить powershell скрипт, который находит SSD или NVME диск и устанавливает систему именно туда. 
 + 
 +1. Перед тем, как вставлять скрипт PS в task sequence - нужно убедиться, что наш boot image поддерживает powershell, а также нужные PS-модули. Если нет - их обязательно нужно добавить. Список необходимых модулей показан на скриншоте. 
 + 
 +;#; 
 +{{::mecm_boot_ps_modules.jpg?direct&200|}} 
 +;#; 
 + 
 +2. После добавления модулей, в task sequence - добавляем запуск PS-скрипта, сразу за этапом //"Restart in Windows PE"//
 + 
 +;#; 
 +{{::mecm_find_fast_drive.jpg?direct&200|}} 
 +;#; 
 +  
 + 
 +:!: В параметрах запуска PS-скрипта нужно обязательно поменять execution policy на //"bypass"//, иначе скрипт не запустится. 
 + 
 +Ниже приведен сам скрипт. Он сохраняет результат выбора диска в переменную **OSDDiskIndex**, которую мы будем использовать на дальнейших шагах. 
 + 
 +<code> 
 +#defalt value 
 + $disk_idx = 0 
 +     
 + #retrieve SSD 
 + $ssd_disk = get-physicaldisk | where mediatype -like 'ssd' 
 +     
 + #multiple SSD 
 + if (@($ssd_disk).count -gt 1) 
 + { 
 +  #multiple nvme SSD, choose the smallest one 
 +  if (@($ssd_disk | where bustype -like 'nvme').count -gt 1) 
 +  { 
 +  $disk_idx = $ssd_disk | Sort-Object -Property Size | Select-Object -ExpandProperty DeviceID -First 1  
 +  } 
 +  elseif (@($ssd_disk | where bustype -like 'nvme').count -eq 1) 
 +  { 
 +  $disk_idx = ($ssd_disk | where bustype -like 'nvme').deviceid 
 +  } 
 + } 
 + #singel SSD 
 + elseif (@($ssd_disk).count -eq 1) 
 + { 
 +  #multiple physical disks, choose SSD 
 +  if (@(get-physicaldisk).count -gt 1) 
 +  { 
 +  $disk_idx = ($ssd_disk).deviceid 
 +  } 
 +  #single pysical disks 
 +  else 
 +  { 
 +  $disk_idx = 0 
 +  } 
 + } 
 + #Write-Host "disk selected: $disk_idx" 
 + (New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('OSDDiskIndex') = $disk_idx 
 +</code> 
 + 
 +3. Теперь на ОБОИХ (BIOS и UEFI) этапах "partition disk 0" - указываем вместо статического номера диска - переменную **OSDDiskIndex**, значение которой будет установлено PS-скриптом, который мы настроили. 
 + 
 +;#; 
 +{{::mecm_osd_disk_index.jpg?direct&200|}} 
 +;#; 
 + 
 +Теперь, при запуске, образ будет искать оптимальный диск для установки системы. 
 + 
 +{{tag>Microsoft MECM MDT Deployment Windows PowerShell}}
  
деплой_образов.1662645240.txt.gz · Last modified: 2022/09/08 13:54 by jp