While sitting in an MMSJazz session last Tuesday, I had some time for reflection. I remember the old days of Johan and Mikael's Geek Week, and how things have changed. Here I sat, looking at OSDBuilder ... that rough brute raw sexiness of PowerShell Functions telling me what and where to do this and that. I miss the gentle touch of mounting my own WIMs ... and the finesse of adding the Updates manually. The forgotten craft of doing everything by hand. Bespoke.
"Back to the Basics" was the session, or something like that ... but OSDBuilder is lost, adding more and more until I no longer recognize my old friend. But with MMSJazz came an opportunity to meet new friends, and to spend a little time creating a new one.
So I've been working on a new PowerShell module with some friends called OSD. If you've been using OSDBuilder, then you already have it. You'll need to give it an update first
Update-Module OSD -ForceImport-Module OSD -Force
Ok, now how about a proper introduction. There it is, version 188.8.131.52. Keep in mind this is a work in progress for now ...
So I decided to mount a WinPE.wim and run a quick check using the new
Get-WindowsImage -Mounted | Update-OSDWindowsImage -CheckOnly
Well that wasn't too pretty ... but it did know exactly what updates I need to install (with the help of the OSDSUS Module). Maybe I should update the SSU
Get-WindowsImage -Mounted | Update-OSDWindowsImage -UpdateGroup SSU
That worked out quite well, it found the SSU Update, downloaded it, and installed too! Time to see if I can update everything using Bits Transfer on the download
Get-WindowsImage -Mounted | Update-OSDWindowsImage -BitsTransfer
Well that was supercool ... but what if I want to install an update again? I guess I need to Force it!
Get-WindowsImage -Mounted | Update-OSDWindowsImage -UpdateGroup SSU -Force
Ok, so that was WinPE, where things are quite simple. What about an Install.wim?
Ok, I wasn't expecting Adobe to be installed ... luckily Update-OSDWindowsImage sets a Global Variable for me to check if that is accurate
I guess it was installed. I'm short on time and need to skip the LCU Update so I'll focus on the SSU and 2 DotNetCU Updates
Get-WindowsImage -Mounted | Update-OSDWindowsImage -UpdateGroup SSUGet-WindowsImage -Mounted | Update-OSDWindowsImage -UpdateGroup DotNetCUGet-WindowsImage -Mounted | Update-OSDWindowsImage -CheckOnly
Hmm, but I was passing Get-WindowsImage -Mounted to my new friend. I wonder what will happen if I have two images mounted ... and to make things more difficult, I'm going to make the second one Windows 10 1809 x86
Looks good to me! Well it's time to go now that I've met someone new, but I need to cut things short so I can spend the next few hours filling out my 5th MVP Nomination (thanks Damien)