Commit Graph

514 Commits

Author SHA1 Message Date
rbalsleyMSFT 8f81e69159 Modify Resetbase command to use DandIEnv 2024-05-24 18:12:43 -07:00
rbalsleyMSFT 4932777f4f syntax cleanup 2024-05-24 18:06:06 -07:00
rbalsleyMSFT 12edabf213 Changed version to 2405.1 2024-05-24 15:29:05 -07:00
rbalsleyMSFT a3faa89ada Merge branch '2405.1' into feature-reduce-ffu-size 2024-05-24 15:19:31 -07:00
Zehadi Alam 49a9fd49c1 Add Optimize-FFUCaptureDrive function and disk cleanup to InstallAppsandSysprep.cmd file 2024-05-20 20:09:26 -04:00
MKellyCBSD 3f4836b478 Update BuildFFUVM.ps1
Adding "-PreventPending" to the "add-windowspackage" command allows the dism cleanup of the winsxs folder command to be moved from the InstallAppsandSysprep.cmd script to right after the updates are added to the vhdx. The end result: 

FFU image size before: 11.836GB
FFU image size after: 11.190GB
2024-05-15 15:52:38 -04:00
MKellyCBSD 1921809c30 Update InstallAppsandSysprep.cmd
Remove this command because moving it up right after updates are applied to the scratch VHDX saves ~650MB on the final .ffu file.
2024-05-15 15:42:00 -04:00
rbalsleyMSFT ae59183a19 update issue with downloading latest Windows CU 2024-05-03 15:32:11 -07:00
rbalsleyMSFT 5564473c3b Merge branch 'main' of https://github.com/rbalsleyMSFT/FFU 2024-04-18 16:11:58 -07:00
rbalsleyMSFT 393de977f2 2404.2 when imaging devices with 4096 logical sector sizes, will set $copydrivers to $true if $installdrivers set to $true 2024-04-18 16:10:16 -07:00
rbalsleyMSFT a9cafe8950 Merge pull request #20 from JoeMama54/patch-2
Remove spaces from Computer Name
2024-04-15 10:54:20 -07:00
rbalsleyMSFT 79364e334d Reverted recovery partition code back 2024-04-15 10:53:41 -07:00
Rob 8e5099ad7a Remove spaces from Computer Name 2024-04-13 00:26:32 -06:00
rbalsleyMSFT 1c339c56bf Merge pull request #18 from zehadialam/15-24041
Automated Handling of Various ADK Scenarios
2024-04-12 12:33:36 -07:00
rbalsleyMSFT 9e2da741d5 Fix issue with single index wims that don't have a 4th index 2024-04-12 12:27:20 -07:00
rbalsleyMSFT 6fd5a4a41f Updated UpdateLatestCU to use MU Catalog 2024-04-12 10:48:53 -07:00
Zehadi Alam c3a4da7914 Refactor functions for improved readability 2024-03-31 16:12:22 -04:00
Zehadi Alam 996d4352fd Add error handling and UninstallRegKeys parameter to functions 2024-03-30 18:56:09 -04:00
Zehadi Alam 79c9748675 Add Uninstall-ADK and Find-InstalledProgramInfo functions
The Uninstall-ADK function silently uninstalls the ADK component that is specified.

The Find-InstalledProgramInfo function searches the registry path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall" to determine if certain programs are installed or properties of installed programs (e.g., version number, uninstall string, etc.).
2024-03-28 23:45:04 -04:00
Zehadi Alam 3a770083ad Add Confirm-ADKVersionIsLatest Function
This commit introduces the Confirm-ADKVersionIsLatest function to check if the currently installed version of the ADK is the latest available version from Microsoft.
2024-03-28 22:45:52 -04:00
rbalsleyMSFT 3b1e2a8fd2 Update script version to 2403.1 2024-03-22 17:42:45 -07:00
rbalsleyMSFT 6022ec22fc Merge branch '11-24031' of https://github.com/rbalsleyMSFT/FFU into 11-24031 2024-03-22 17:17:18 -07:00
rbalsleyMSFT b5b43c2e42 Fix an issue with SecurityHealthSetup install 2024-03-22 17:17:14 -07:00
Zehadi Alam 662572e5e5 Add clarifying comments to Install-ADK function 2024-03-18 19:45:08 -04:00
Zehadi Alam ab86c5e1ac Add Get-ADKURL and Install-ADK functions
This commit introduces two new functions, Get-ADKURL and Install-ADK, to facilitate the retrieval and installation of the Windows Assessment and Deployment Kit (ADK) components.

The Get-ADKURL function retrieves the download URL for the specified ADK option (either "Windows ADK" or "WinPE Add-on") from the official Microsoft documentation page. It utilizes web scraping to extract the URL dynamically.

The Install-ADK function downloads the specified ADK component from the obtained URL and installs it silently on the system. It handles errors gracefully and cleans up the temporary installation file after completion.

These functions enhance the automation capabilities of the project by simplifying the process of acquiring and installing ADK components required for Windows deployment and assessment tasks.
2024-03-18 18:35:37 -04:00
rbalsleyMSFT d07ce0a279 Merge branch '9-24021-feature-list' of https://github.com/rbalsleyMSFT/FFU into 9-24021-feature-list 2024-03-11 16:20:10 -07:00
rbalsleyMSFT 2df568c215 update docs 2024-03-11 16:20:08 -07:00
rbalsleyMSFT bc498995e9 update docs 2024-03-11 12:04:19 -07:00
rbalsleyMSFT c7cef66aff count folders within drivers folder, not all objects. 2024-03-08 16:23:42 -08:00
rbalsleyMSFT 5a5947d9b0 Added $CleanupCaptureISO, $CleanupDeployISO, $CleanupAppsISO, and $CompactOS to allow for control over cleanup of generated ISOs and whether OS is compacted at install 2024-03-08 15:40:30 -08:00
rbalsleyMSFT 2526722c15 Added $CopyPEDrivers variable to handle copying PEDrivers to boot media 2024-03-08 11:44:32 -08:00
rbalsleyMSFT 980ba025a3 added $CopyPPKG, $CopyUnattend, $CopyAutopilot, and $CompactOS variables and fixed some logging 2024-03-08 10:31:47 -08:00
rbalsleyMSFT 0b334ad95e Added functionality to download latest CU, Defender, OneDrive, Edge 2024-02-26 18:06:16 -08:00
rbalsleyMSFT a4cd349f45 Refactor BuildFFUVM.ps1 script***
This commit refactors the BuildFFUVM.ps1 script by:
- Changing the default value of FFUDevelopmentPath to $PSScriptRoot
- Adding a new parameter RemoveFFU
- Adding a new function Remove-FFU to remove all FFU files in the FFUCaptureLocation
- Adding a conditional block to call Remove-FFU if RemoveFFU parameter is true
2024-02-16 10:38:42 -08:00
rbalsleyMSFT 1c38556e32 Added Get-USBDrive function to check for presence of USBDrive prior to running if $buildUSBDrive -eq $true 2024-02-15 17:11:16 -08:00
rbalsleyMSFT aee1aa1e95 2401.1 update 2024-01-26 14:28:38 -08:00
rbalsleyMSFT ed3fcf1a3d Fixed bug with Windows Update failing to install updates for VHDX-only captures. 2023-12-14 15:32:14 -08:00
rbalsleyMSFT 4d8966d3a1 Added variables 2023-09-18 12:06:20 -07:00
rbalsleyMSFT 161e77720b 2309.2 final commit 2023-09-14 15:34:12 -07:00
rbalsleyMSFT 6dee088139 Fixed logging 2023-09-12 16:12:08 -07:00
rbalsleyMSFT 131d7920bf Changed USB build functionality 2023-09-12 13:12:48 -07:00
rbalsleyMSFT 34efbda7ec Fixed an issue with Critical Process Died BSOD
When using -installapps $false when capturing a FFU, a Critical Process Died BSOD would happen when deploying the FFU and Windows attempted to load.

When capturing the FFU, the registry is loaded to grab the Windows version information to create the FFU file name. After unloading the registry, the FFU is captured. This process can happen too fast on certain hard drives (NVME). A 15 second delay was added after the unloading of the registry to allow for the process to complete before the FFU is captured.
2023-09-07 10:32:58 -07:00
rbalsleyMSFT f28281671e Fixed an issue with manually naming a device. Updated version string 2023-06-29 12:04:27 -07:00
rbalsleyMSFT b2d2536530 Minor comment change 2023-06-22 15:41:11 -07:00
rbalsleyMSFT 3fbde27a77 test 2023-06-22 11:24:23 -07:00
rbalsleyMSFT b7b4a53b06 2306.1.1
Included some better error handling if defining optionalfeatures that require source folders (netfx3). ESD files don't have source folders like ISO media, which means installing .net 3.5 as an optional feature would fail. Also cleaned up some formatting.
2023-06-02 13:55:49 -07:00
rbalsleyMSFT 70ae2272e2 2306.1 release
See readme.md for more info
2023-06-01 14:20:17 -07:00
rbalsleyMSFT a81261fa6b Removed the need for Insider ADK but still allow optimize FFU
Optimize-FFU is broken due to the Recovery partition not having a name. dism checks for the presence of a name for each partition and if it doesn't have one, optimize-FFU breaks. The fix is in the ffuprovider.dll in the 25255 branch, which is in the Insider ADK. The public release for that isn't coming soon, and using the Insider ADK requires test signing/test mode to be turned on and secureboot disabled. This causes issues with systems that have virtualization-based security. Due to this, changing the code back to not creating a recovery partition while building the FFU, and creating the recovery partition during deployment and then letting Windows copy in and configure WinRE after. Later this year, whenever the ADK gets released, I'll update the script to revert this behavior.
2023-05-25 12:30:21 -07:00
rbalsleyMSFT aeffca2dca fixed a bug when $installdrivers set to $false the FFU would fail to optimize 2023-05-23 19:06:16 -07:00
rbalsleyMSFT 468103580e updated docs 2023-05-23 12:45:23 -07:00