簡介:
雖然WDS+MDT在單硬碟很方便,但是各種大硬碟,小固態加大硬碟的地方,還是有若干不便之處。
如:第二塊硬碟未分割槽格式化,需要手動選擇安裝磁碟,如果固態超過250G,是否需要分為兩個區?
自動選擇較小的硬碟
目前我這裡的終端都是小固態,大機械,那麼我們要嘗試一下自動選擇較小的硬碟作為系統安裝盤。
透過磁碟大小排序,找到最小磁碟的序號,並將該序號賦值給安裝盤號。
新建任務序列。
還是command line,
#Choose_Smallest_Disk
$mindisk= (Get-Disk | Where-Object -FilterScript {$_.Bustype -ne 'USB'}) | Select-Object Number, Size | Sort-Object Size | Select-Object -First 1$TSEnv = New-Object -COMObject Microsoft.SMS.TSEnvironment $TSEnv.Value(“OSDDiskIndex”) = $mindisk.Number
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe -STA -NoProfile -ExecutionPolicy Bypass -File "%SCRIPTROOT%\Custom\Choose_Smallest_Disk.ps1"
升級映象,替換映象,測試
我將虛擬機器硬碟換了換位置,0是大盤,3是小盤。
測試正常,如果遇到 FAILURE ( 5616 ): 15250: Verify BCDBootEX,請刪除磁碟所有分割槽。
mdt+wds的bug FAILURE ( 5616 ): 15250: Verify BCDBootEX - 上官飛鴻 - 部落格園 (cnblogs.com)
格式化其他盤
為了生成純淨的系統,我也並不想裝完系統再去分割槽格式化第二個盤。
指令碼Format_Other_Disk.ps1
#Format_Other_Disk.ps1
$TSEnv = New-Object -COMObject Microsoft.SMS.TSEnvironment $osddiskid = $tsenv.Value("OSDDiskIndex") $disks = (Get-Disk | Where-Object -FilterScript { $_.Bustype -ne 'USB' }) | % { $_.Number } foreach ($disk in $disks) { if ($disk -cne $osddiskid) { #初始化磁碟 Initialize-Disk -Number $disk -PartitionStyle GPT -Confirm:$false 2> $null #如果磁碟已經有分割槽,清理所有分割槽 Get-Disk -Number $disk | Get-Partition | Remove-Partition -Confirm:$false 2> $null #開始格式化,格式化為一個區 New-Partition -DiskNumber $disk -UseMaximumSize -AssignDriveLetter | Format-Volume -FileSystem NTFS -NewFileSystemLabel "資料磁碟" -Confirm:$false 2> $null } }
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe -STA -NoProfile -ExecutionPolicy Bypass -File "%SCRIPTROOT%\Custom\Format_Other_Disk.ps1"
放在選擇磁碟後面即可。
重新分割槽目標盤
為避免FAILURE ( 5616 ): 15250: Verify BCDBootEX錯誤。
我們刪除系統盤所有分割槽吧。
指令碼Format_OSD_Disk.ps1
#Format_OSD_Disk.ps1
$TSEnv = New-Object -COMObject Microsoft.SMS.TSEnvironment $osddiskid = $tsenv.Value("OSDDiskIndex") #初始化磁碟 Initialize-Disk -Number $osddiskid -PartitionStyle GPT -Confirm:$false 2> $null #如果磁碟已經有分割槽,清理所有分割槽 Get-Disk -Number $osddiskid | Get-Partition | Remove-Partition -Confirm:$false 2> $null
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe -STA -NoProfile -ExecutionPolicy Bypass -File "%SCRIPTROOT%\Custom\Format_OSD_Disk.ps1"
這樣應該就可以了。
組合使用
根據自己的情況組合使用吧,記得上篇的MoreTheanOneHD麼?
選擇小盤,格式化其他盤,都可以加上那條指令碼,並設定條件執行。