Advertisement
Guest User

ISO Build Script

a guest
Apr 20th, 2017
750
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Build Updated iso Images
  2. $Images = @(
  3. #
  4. # Windows Server 2016
  5. New-Object -TypeName psobject -Property @{
  6.     Name       = "Server2016_DATACENTER-GUI"
  7.     Folder     = "Windows Server 2016"
  8.     Masteriso  = "Microsoft Windows Server 2016\SW_DVD9_Win_Svr_STD_Core_and_DataCtr_Core_2016_64Bit_English_-2_MLF_X21-22843.iso"
  9.     UpdatedWIM = "REF-SVR2016001-DATACENTERGUI.wim"
  10. }
  11. New-Object -TypeName psobject -Property @{
  12.     Name       = "Server2016_DATACENTER-CORE"
  13.     Folder     = "Windows Server 2016"
  14.     Masteriso  = "Microsoft Windows Server 2016\SW_DVD9_Win_Svr_STD_Core_and_DataCtr_Core_2016_64Bit_English_-2_MLF_X21-22843.iso"
  15.     UpdatedWIM = "REF-SVR2016002-DATACENTERCORE.wim"
  16. }
  17. New-Object -TypeName psobject -Property @{
  18.     Name       = "Server2016_STANDARD-GUI"
  19.     Folder     = "Windows Server 2016"
  20.     Masteriso  = "Microsoft Windows Server 2016\SW_DVD9_Win_Svr_STD_Core_and_DataCtr_Core_2016_64Bit_English_-2_MLF_X21-22843.iso"
  21.     UpdatedWIM = "REF-SVR2016003-STANDARDGUI.wim"
  22. }
  23. New-Object -TypeName psobject -Property @{
  24.     Name       = "Server2016_STANDARD-CORE"
  25.     Folder     = "Windows Server 2016"
  26.     Masteriso  = "Microsoft Windows Server 2016\SW_DVD9_Win_Svr_STD_Core_and_DataCtr_Core_2016_64Bit_English_-2_MLF_X21-22843.iso"
  27.     UpdatedWIM = "REF-SVR2016004-STANDARDCORE.wim"
  28. }
  29. New-Object -TypeName psobject -Property @{
  30.     Name       = "Server2016-HYPER-V-CORE"
  31.     Folder     = "Windows Server 2016"
  32.     Masteriso  = "Microsoft Windows Server 2016\14393.0.160916-1106.RS1_REFRESH_SERVERHYPERCORE_OEM_X64FRE_EN-US.iso"
  33.     UpdatedWIM = "REF-SVR2016005-HYPERVCORE.wim"
  34. }
  35. #
  36. # Windows Server 2012R2
  37. New-Object -TypeName psobject -Property @{
  38.     Name       = "Server2012R2_DATACENTER-GUI"
  39.     Folder     = "Windows Server 2012R2"
  40.     Masteriso  = "Microsoft Windows Server 2012R2\SW_DVD9_Windows_Svr_Std_and_DataCtr_2012_R2_64Bit_English_-4_MLF_X19-82891.iso"
  41.     UpdatedWIM = "REF-SVR2012R201-DATACENTERGUI.wim"
  42. }
  43. New-Object -TypeName psobject -Property @{
  44.     Name       = "Server2012R2_DATACENTER-CORE"
  45.     Folder     = "Windows Server 2012R2"
  46.     Masteriso  = "Microsoft Windows Server 2012R2\SW_DVD9_Windows_Svr_Std_and_DataCtr_2012_R2_64Bit_English_-4_MLF_X19-82891.iso"
  47.     UpdatedWIM = "REF-SVR2012R202-DATACENTERCORE.wim"
  48. }
  49. New-Object -TypeName psobject -Property @{
  50.     Name       = "Server2012R2_STANDARD-GUI"
  51.     Folder     = "Windows Server 2012R2"
  52.     Masteriso  = "Microsoft Windows Server 2012R2\SW_DVD9_Windows_Svr_Std_and_DataCtr_2012_R2_64Bit_English_-4_MLF_X19-82891.iso"
  53.     UpdatedWIM = "REF-SVR2012R203-STANDARDGUI.wim"
  54. }
  55. New-Object -TypeName psobject -Property @{
  56.     Name       = "Server2012R2_STANDARD-CORE"
  57.     Folder     = "Windows Server 2012R2"
  58.     Masteriso  = "Microsoft Windows Server 2012R2\SW_DVD9_Windows_Svr_Std_and_DataCtr_2012_R2_64Bit_English_-4_MLF_X19-82891.iso"
  59.     UpdatedWIM = "REF-SVR2012R204-STANDARDCORE.wim"
  60. }
  61. New-Object -TypeName psobject -Property @{
  62.     Name       = "Server2012R2_HYPER-V-CORE"
  63.     Folder     = "Windows Server 2012R2"
  64.     Masteriso  = "Microsoft Windows Server 2012R2\9600.16384.WINBLUE_RTM.130821-1623_X64FRE_SERVERHYPERCORE_EN-US-IRM_SHV_X64FRE_EN-US_DV5.iso"
  65.     UpdatedWIM = "REF-SVR2012R205-HYPERVCORE.wim"
  66. }
  67. #
  68. # Windows Server 2008R2
  69. New-Object -TypeName psobject -Property @{
  70.     Name       = "Server2008R2_ENTERPRISE-GUI"
  71.     Folder     = "Windows Server 2008R2"
  72.     Masteriso  = "Microsoft Windows Server 2008R2\SW_DVD5_Windows_Svr_DC_EE_SE_Web_2008_R2_64Bit_English_w_SP1_MLF_X17-22580.iso"
  73.     UpdatedWIM = "REF-SVR2008R201-ENTERPRISEGUI.wim"
  74. }
  75. New-Object -TypeName psobject -Property @{
  76.     Name       = "Server2008R2_ENTERPRISE-CORE"
  77.     Folder     = "Windows Server 2008R2"
  78.     Masteriso  = "Microsoft Windows Server 2008R2\SW_DVD5_Windows_Svr_DC_EE_SE_Web_2008_R2_64Bit_English_w_SP1_MLF_X17-22580.iso"
  79.     UpdatedWIM = "REF-SVR2008R202-ENTERPRISECORE.wim"
  80. }
  81. New-Object -TypeName psobject -Property @{
  82.     Name       = "Server2008R2_STANDARD-GUI"
  83.     Folder     = "Windows Server 2008R2"
  84.     Masteriso  = "Microsoft Windows Server 2008R2\SW_DVD5_Windows_Svr_DC_EE_SE_Web_2008_R2_64Bit_English_w_SP1_MLF_X17-22580.iso"
  85.     UpdatedWIM = "REF-SVR2008R203-STANDARDGUI.wim"
  86. }
  87. New-Object -TypeName psobject -Property @{
  88.     Name       = "Server2008R2_STANDARD-CORE"
  89.     Folder     = "Windows Server 2008R2"
  90.     Masteriso  = "Microsoft Windows Server 2008R2\SW_DVD5_Windows_Svr_DC_EE_SE_Web_2008_R2_64Bit_English_w_SP1_MLF_X17-22580.iso"
  91.     UpdatedWIM = "REF-SVR2008R204-STANDARDCORE.wim"
  92. }
  93. #
  94. # Windows 10
  95. New-Object -TypeName psobject -Property @{
  96.     Name       = "Windows10_ENTERPRISE-32x"
  97.     Folder     = "Windows 10"
  98.     Masteriso  = "Microsoft Windows 10\1607 JULY2016\SW_DVD5_WIN_ENT_10_1607_32BIT_English_MLF_X21-07101.iso"
  99.     UpdatedWIM = "REF-WIN1032X02-ENTERPRISE32X.wim"
  100. }
  101. New-Object -TypeName psobject -Property @{
  102.     Name       = "Windows10_ENTERPRISE-64x"
  103.     Folder     = "Windows 10"
  104.     Masteriso  = "Microsoft Windows 10\1607 JULY2016\SW_DVD5_WIN_ENT_10_1607_64BIT_English_MLF_X21-07102.iso"
  105.     UpdatedWIM = "REF-WIN1064X01-ENTERPRISE64X.wim"
  106. }
  107. New-Object -TypeName psobject -Property @{
  108.     Name       = "Windows10_PROFESSIONAL-32x"
  109.     Folder     = "Windows 10"
  110.     Masteriso  = "Microsoft Windows 10\1607 JULY2016\SW_DVD5_Win_Pro_10_1607_32BIT_English_MLF_X21-07253.iso"
  111.     UpdatedWIM = "REF-WIN1032X04-PROFESSIONAL32X.wim"
  112. }
  113. New-Object -TypeName psobject -Property @{
  114.     Name       = "Windows10_PROFESSIONAL-64x"
  115.     Folder     = "Windows 10"
  116.     Masteriso  = "Microsoft Windows 10\1607 JULY2016\SW_DVD5_Win_Pro_10_1607_64BIT_English_MLF_X21-06988.iso"
  117.     UpdatedWIM = "REF-WIN1064X03-PROFESSIONAL64X.wim"
  118. }
  119. #
  120. # Windows 8.1
  121. New-Object -TypeName psobject -Property @{
  122.     Name       = "Windows8.1_ENTERPRISE-32x"
  123.     Folder     = "Windows 8.1"
  124.     Masteriso  = "Microsoft Windows 8.1\SW_DVD9_SA_Win_Ent_8.1_32BIT_English_-3_MLF_X19-84066.iso"
  125.     UpdatedWIM = "REF-WIN8132X02-ENTERPRISE32X.wim"
  126. }
  127. New-Object -TypeName psobject -Property @{
  128.     Name       = "Windows8.1_ENTERPRISE-64x"
  129.     Folder     = "Windows 8.1"
  130.     Masteriso  = "Microsoft Windows 8.1\SW_DVD9_SA_Win_Ent_8.1_64BIT_English_-3_MLF_X19-84068.iso"
  131.     UpdatedWIM = "REF-WIN8164X01-ENTERPRISE64X.wim"
  132. }
  133. New-Object -TypeName psobject -Property @{
  134.     Name       = "Windows8.1_PROFESSIONAL-32x"
  135.     Folder     = "Windows 8.1"
  136.     Masteriso  = "Microsoft Windows 8.1\SW_DVD9_Win_Pro_8.1_32BIT_English_-3_MLF_X19-84083.iso"
  137.     UpdatedWIM = "REF-WIN8132X02-PROFESSIONAL32X.wim"
  138. }
  139. New-Object -TypeName psobject -Property @{
  140.     Name       = "Windows8.1_PROFESSIONAL-64x"
  141.     Folder     = "Windows 8.1"
  142.     Masteriso  = "Microsoft Windows 8.1\SW_DVD9_Win_Pro_8.1_64BIT_English_-3_MLF_X19-84085.iso"
  143.     UpdatedWIM = "REF-WIN8164X02-PROFESSIONAL64X.wim"
  144. }
  145. #
  146. New-Object -TypeName psobject -Property @{
  147.     Name       = "Window 7_ENTERPRISE-32x"
  148.     Folder     = "Windows 7"
  149.     Masteriso  = "Microsoft Windows 7 SP1\SW_DVD5_SA_Win_Ent_7w_SP1_32BIT_English_-2_MLF_X17-58878.iso"
  150.     UpdatedISO = "_Window7_ENTERPRISE-32x.iso"
  151.     UpdatedWIM = "REF-WIN732X01-ENTERPRISE32X.wim"
  152. }
  153. New-Object -TypeName psobject -Property @{
  154.     Name       = "Window 7_ENTERPRISE-64x"
  155.     Folder     = "Windows 7"
  156.     Masteriso  = "Microsoft Windows 7 SP1\SW_DVD5_SA_Win_Ent_7w_SP1_64BIT_English_-2_MLF_X17-58882.iso"
  157.     UpdatedISO = "_Window7_ENTERPRISE-64x.iso"
  158.     UpdatedWIM = "REF-WIN764X01-ENTERPRISE64X.wim"
  159. }
  160. New-Object -TypeName psobject -Property @{
  161.     Name       = "Window 7_PROFESSIONAL-32x"
  162.     Folder     = "Windows 7"
  163.     Masteriso  = "Microsoft Windows 7 SP1\SW_DVD5_Win_Pro_7w_SP1_32BIT_English_-2_MLF_X17-59276.iso"
  164.     UpdatedISO = "_Window7_PROFESSIONAL-32x.iso"
  165.     UpdatedWIM = "REF-WIN732X02-PROFESSIONAL32X.wim"
  166. }
  167. New-Object -TypeName psobject -Property @{
  168.     Name       = "Window 7_PROFESSIONAL-64x"
  169.     Folder     = "Windows 7"
  170.     Masteriso  = "Microsoft Windows 7 SP1\SW_DVD5_Win_Pro_7w_SP1_64BIT_English_-2_MLF_X17-59279.iso"
  171.     UpdatedISO = "_Window7_PROFESSIONAL-64x.iso"
  172.     UpdatedWIM = "REF-WIN764X02-PROFESSIONAL64X.wim"
  173. }
  174. )
  175.  
  176. #isoBuild Configuration
  177. $LastBuild = (Get-Date).AddMonths(-1).ToString("MMMMyyyy")
  178. $BuildDate = Get-Date -format MMMMyyyy
  179. $ISOPath   = "D:\ISOImages\ExtractedISO"
  180. $WIMPath   = "D:\MDTBuildShare\Captures"
  181. $UNCPath   = "\\hme-wincorefs01\iso"
  182. $StaleISO  = $LastBuild + $($Image.UpdatedISO)
  183.  
  184. Foreach ($Image in $Images) {
  185.  
  186. # Cleanup iso2Go Disk
  187. Remove-Item "$ISOPath\*" -Force -Recurse
  188. Remove-Item "D:\ISOImages\$($Image.Folder)\$LastBuild_" -Force -Recurse
  189.  
  190. }
  191.  
  192. # Copy and Extract Masteriso to E:\isoBuild
  193. Cd "C:\Program Files\7-Zip"
  194. .\7z.exe x $UNCPath\$($Image.Masteriso) -oD:\isoImages\Extractediso
  195.  
  196. #Remove NanoServer Folder~
  197. $NanoFolder = "D:\isoImages\Extractediso\NanoServer"
  198. If ( Test-Path $NanoFolder -IsValid ) {
  199.  
  200. Remove-Item -Path $NanoFolder -Force -Recurse
  201. Write-Host "Folder Removed!" -ForegroundColor Green
  202. } Else {
  203.  
  204. Write-Host "No Folder - No 2016 Image" -ForegroundColor Red
  205. }
  206.  
  207. # Remove Microsoft Default WIM and Replace with Project: ImageBuild Version
  208. Remove-Item -Path $ISOPath\sources\install.wim -Force
  209. Copy-Item   -Path $WIMPath\$($Image.UpdatedWIM) -Destination $ISOPath\sources\install.wim
  210.  
  211. #Build iso Image
  212. cd "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\x86\Oscdimg"
  213. .\oscdimg.exe -m -u1 -bD:\isoImages\Extractediso\boot\etfsboot.com $ISOPath D:\isoImages\$($Image.Folder)\"$BuildDate"_$($Image.Name).iso
  214.  
  215. }
  216.  
  217. #Reboot Server
  218. Restart-Computer -Force
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement