rbalsleyMSFT 562529a26b Refactor Get-ModelsForMake and Update-CopyButtonState to use State parameter
- Updated functions to accept a State parameter for improved scope management.
- Replaced direct window control access with State object references for better encapsulation and consistency.
- Ensured proper handling of UI elements within the context of the State object.

Refactors UI functions to use a State parameter

Improves scope management and encapsulation by passing a `State` object to UI-interacting functions.

This change modifies several functions, including `Get-ModelsForMake` and `Update-CopyButtonState`, to accept a `State` parameter.
It replaces direct access to UI controls via `$window.FindName` with references from the `State` object, leading to more consistent and maintainable code.
2025-06-07 18:47:15 -07:00
2025-05-21 17:29:12 -07:00
2023-02-15 14:37:14 -08:00
2024-12-20 13:03:14 -08:00

Using Full Flash Update (FFU) files to speed up Windows deployment

What if you could have a Windows image (Windows 10/11 or Server) that has:

  • The latest Windows cumulative update
  • The latest .NET cumulative update
  • The latest Windows Defender Platform and Definition Updates
  • The latest version of Microsoft Edge
  • The latest version of OneDrive (Per-Machine)
  • The latest version of Microsoft 365 Apps/Office
  • The latest drivers from any of the major OEMs (Dell, HP, Lenovo, Microsoft) (yes, the latest, not some out of date enterprise CAB file from years ago)
  • Winget support so you can integrate any app available from Winget directly in your image
  • ARM64 support for the latest Copilot+ PCs
  • The ability to bring your own drivers and apps if necessary
  • Custom WinRE support

And the best part: it takes less than two minutes to apply the image, even with all of these updates added to the media. After setting Windows up and going through Autopilot or a provisioning package, total elapsed time ~10 minutes (depending on what Intune or your device management tool is deploying).

The Full-Flash update (FFU) process can automatically download the latest release of Windows 11, the updates mentioned above, and creates a USB drive that can be used to quickly reimage a machine.

Updates

2412.1 has been released! Check out the changes in the Change Log

Getting Started

  • Download the latest release
  • Extract the FFUDevelopment folder from the ZIP file (recommend to C:\FFUDevelopment)
  • Follow the doc: C:\FFUDevelopment\Docs\BuildDeployFFU.docx

YouTube Detailed Walkthrough

The first 15 minutes of the following video includes a quick start demo to get started. Below the video are a list of chapters. This video was taken with the 2407.2 build. Features released after that will not be demonstrated in the video.

Reimage Windows Fast with Full-Flash Update (FFU))

Chapters:

00:00 Begin

03:21 Quick Start Prereqs

07:19 Quick Start Demo

14:12 Script Parameters

17:22 Obtaining Windows Media

25:55 Adding Applications

26:59 Adding M365 Apps/Office

29:21 Adding Applications via Winget

34:59 Bring your own Applications

36:01 Customizing InstallAppsAndSysprep.cmd

38:34 Demo - Application Configuration

49:43 Drivers

55:39 Automatically downloading drivers

57:28 Microsoft Surface drivers

58:55 Dell drivers

01:01:45 Lenovo drivers

01:03:16 HP drivers

01:05:25 Bring your own drivers

01:06:24 Demo - Drivers

01:11:55 Multi-model driver support

01:13:21 Device naming

01:18:30 Device enrollment

01:21:43 Autopilot

01:24:57 Provisioning packages

01:26:54 Custom WinRE

01:29:59 Demo - Putting it all together (Deep dive)

01:32:06 Downloading Lenovo 500w drivers

01:33:28 Downloading apps via Winget

01:36:54 Downloading Office, Defender, Edge, OneDrive

01:38:15 Building the Apps.iso

01:39:08 Applying Windows to the VHDX

01:40:16 Downloading and applying cumulative updates

01:41:44 Building the VM

01:48:13 Capturing the FFU

01:53:38 Creating USB drive

01:58:41 Deploying FFU

02:11:48 Troubleshooting

02:14:30 EDU Endpoint Office Hours

S
Description
No description provided
Readme MIT 27 MiB
Languages
PowerShell 100%