Releases: aaronparker/defaults
Releases · aaronparker/defaults
v2606.07.248
- Creates
User.AdobeAcrobat.jsonwith Adobe Acrobat settings moved fromUser.All.json - Removes duplicate registry values in
Machine.All.json - Fixes file copies in configs for consistency
- Adds an OS and Platform filter to the Enterprise Defaults Viewer to view which configurations apply to a specific scenario
Files
This release includes several file assets:
defaults.zip- a downloadable copy of the solution that can be used anywheredefaults.intunewin- a copy of the solution in Intune Win32 format for deployment to manage devicesWin32App.json- a definition file for the Win32 package and can be used with theIntuneWin32AppPowerShell module to import into an Intune tenant
v2606.06.247
Summary
This release introduces a major refactor of the configuration schema, a new WPF-based configuration viewer, a significant cleanup of the PowerShell module, and removal of legacy scripts. It also updates all documentation to reflect the new structure and bumps several CI/dependency versions.
Breaking changes
- Configuration file names have changed — any references to old filenames (
User-Windows11.All.json,Machine.Server.json, etc.) must be updated or custom changes ported to the new files - The solution no longer relies on the configuration file name to determine applicability. Target OS and platform is defined within each configuration file directly
What's changed
Configuration schema overhaul
- Added
$schemareferences and a_Configuration.Template.jsontemplate to all configs - Updated all configurations to include all properties for consistency
- Renamed and consolidated all JSON configuration files to a consistent
Machine.*/User.*naming convention (e.g.User-Windows11.All.json→User.Windows11.json) - Introduced
protectedflag fields and normalisedTargets/registrysections across all configs - Changed configuration named:
- Added new configs:
Machine.RDS.json,Machine.TeamsCopilot.json,User.Windows2022RDS.json,User.Windows2025Server.json - Removed obsolete configs:
Build.All.json,Machine.Server.json,Services.Client.json
- Added new configs:
- Normalised all JSON
Typekeys to lowercasetype - Update build numbers to 4 part version numbers [#72]
PowerShell module refactor (Install-Defaults.psm1, Install-Defaults.ps1)
- Enabled
Set-StrictMode -Version Latestthroughout for better code management to ensure the script execution is more robust - Refactored config loading to remove
Get-SettingsContent; config is now validated before applying - Improved
Add-Typereuse and registry cleanup logic - Refactored all
try/catchblocks for consistency - Added null checks for config properties before applying
- Always copy package files to the Windows feature update path [#73]
- Only writes log file when running as Administrator
AppX / package updates - Remove-AppxApps.ps1
- Added
WindowsWorkload.Managerto the safe package list (#80) - Moved Teams/Outlook entries and added Office shell entries (#81)
New WPF configuration viewer (Start-DefaultsViewer.ps1)
- New WPF-based GUI to browse and inspect configuration files interactively
Files
This release includes several file assets:
defaults.zip- a downloadable copy of the solution that can be used anywheredefaults.intunewin- a copy of the solution in Intune Win32 format for deployment to manage devicesWin32App.json- a definition file for the Win32 package and can be used with theIntuneWin32AppPowerShell module to import into an Intune tenant
v2510.27.242
- Introduces
-InstallLanguagePackswitch parameter toInstall-Defaults.ps1. This allows explicit control over whether the language pack is installed for the specified language. The-Languageparameter can still be used to localise Windows without adding a language pack. - Adds a check to skip registry key creation if
PackageFamilyNameis null or empty, preventing unnecessary operations and potential errors inRemove-AppxApps.ps1. - Replaced 'return 0' with 'exit 0' in
Install-Defaults.ps1for proper script termination. Remove-AppxApps.ps1- commented outMicrosoft.PowerAutomateDesktop_8wekyb3d8bbweandMicrosoft.WindowsSoundRecorder_8wekyb3d8bbwefromSafePackageListto enable their removal.Remove-AppxApps.ps1- Enabled removal ofMicrosoft.OutlookForWindows_8wekyb3d8bbwe,Microsoft.Todos_8wekyb3d8bbwe, andMicrosoft.Copilot_8wekyb3d8bbwefrom theTargetedPackageList.- Added registry settings to
User-Windows11.All.jsonto disable Windows Spotlight and related subscribed content on the Lock Screen. - Added
--no-first-run --disable-first-run-uito the Microsoft Edge shortcut arguments to suppress first run prompts. - Adds
Write-Messagefor improved log output with colour and symbols, andGet-Symbolfor tick/cross Unicode characters. UpdatesWrite-LogFileto useWrite-Messageinstead ofWrite-Msg, and exports new functions in the module. Also changes timestamp format inWrite-Msgto show only time. - Enhanced
Write-Messageto support line wrapping and better formatting for long messages. - Adjusted log levels for AppX removal messages and added completion logs for language pack installation.
- Suppressed warnings for
Set-WinUserLanguageListand improved user guidance in locale setting. - Introduces the
Set-Shortcutfunction to modify Windows shortcut (.lnk) files, supporting target, arguments, working directory, description, icon, and window style. UpdatesInstall-Defaults.ps1to process shortcut settings from configuration, and adds a Shortcuts section toMachine.All.jsonfor managing shortcut arguments. - Removed the call to
Remove-AppxApps.ps1fromsuccess.cmd, so onlyInstall-Defaults.ps1is executed.
Files
This release includes several file assets:
defaults.zip- a downloadable copy of the solution that can be used anywheredefaults.intunewin- a copy of the solution in Intune Win32 format for deployment to manage devicesWin32App.json- a definition file for the Win32 package and can be used with theIntuneWin32AppPowerShell module to import into an Intune tenant
v2509.15.228
- Adds
ConfirmImpacttoRemove-AppxApps.ps1to require validation to remove AppX packages. This reduces the chance of breaking apps on existing desktops - Updates the default packages in
Remove-AppxApps.ps1in the default mode to avoid removing packages that could impact functionality. Added packages include:Microsoft.CompanyPortal_8wekyb3d8bbweMicrosoft.MicrosoftEdge.Stable_8wekyb3d8bbweMicrosoft.Edge.GameAssist_8wekyb3d8bbweMicrosoft.OfficePushNotificationUtility_8wekyb3d8bbweMicrosoft.Office.ActionsServer_8wekyb3d8bbweaimgr_8wekyb3d8bbweMicrosoftCorporationII.WinAppRuntime.Main*Microsoft.WinAppRuntime.DDLM*Microsoft.LanguageExperiencePack*Microsoft.Teams.SlimCoreVdi*
Files
This release includes several file assets:
defaults.zip- a downloadable copy of the solution that can be used anywheredefaults.intunewin- a copy of the solution in Intune Win32 format for deployment to manage devicesWin32App.json- a definition file for the Win32 package and can be used with theIntuneWin32AppPowerShell module to import into an Intune tenant
v2508.07.224
- Reverts 'Combine taskbar buttons and hide labels' value to 'Always'. This is the default Windows behaviour #46
- Adds additional settings in 'Settings / Privacy & Security / Recommendations & offers'
- Disables Personalised offers
- Disables Advertising ID
- Moves 'Disables suggested content in the Settings app' to
User-Windows11.All.json - Adds an alternative approach for changing the default value at:
HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\TaskbarDato disable Widgets by default.- This value is protected, so in most cases fails to be set directly via
Set-ItemProperty - Note: This new approach makes a copy of
C:\Windows\System32\reg.exeto$Env:TEMP\reg1.exewhich could get picked up by XDR solutions
- This value is protected, so in most cases fails to be set directly via
Files
This release includes several file assets:
defaults.zip- a downloadable copy of the solution that can be used anywheredefaults.intunewin- a copy of the solution in Intune Win32 format for deployment to manage devicesWin32App.json- a definition file for the Win32 package and can be used with theIntuneWin32AppPowerShell module to import into an Intune tenant
v2505.24.221
- Fixes an issue with writing registry keys for deprovisioned AppX apps
- Updates scripts for renaming repository to
defaults
Files
This release includes several file assets:
defaults.zip- a downloadable copy of the solution that can be used anywheredefaults.intunewin- a copy of the solution in Intune Win32 format for deployment to manage devicesWin32App.json- a definition file for the Win32 package and can be used with theIntuneWin32AppPowerShell module to import into an Intune tenant
v2504.15.218
- Additional testing has been completed with Windows feature upgrades to ensure the solution re-runs after the feature upgrade is successful to reapply configurations and remove AppX packages that may be re-added
- Updates the approach to copying the project for feature updates during a feature update
- Updates
Remove-AppxApps.ps1to remove a targeted set of packages instead of all packages except the safe packages list. This enables removing only specified packages in specific scenarios including during Windows feature updates - Updates
Remove-AppxApps.ps1to explicitly update the registry for removed packages and prevent reinstall of these packages during feature updates - Updates Teams removal configuration to only run on Windows 11 23H2 or below
- Sets
ShowCopilotButtonto remove the Copilot button from the taskbar on Windows 11 23H2 and below
Files
This release includes several file assets:
image-customise.zip- a downloadable copy of the solution that can be used anywhereimage-customise.intunewin- a copy of the solution in Intune Win32 format for deployment to manage devicesWin32App.json- a definition file for the Win32 package and can be used with theIntuneWin32AppPowerShell module to import into an Intune tenant
v2504.11.216
- Sets
CopilotPWAPreinstallCompletedinHKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoInstalledPWAsto prevent the install of the Microsoft Copilot PWA
Files
This release includes several file assets:
image-customise.zip- a downloadable copy of the solution that can be used anywhereimage-customise.intunewin- a copy of the solution in Intune Win32 format for deployment to manage devicesWin32App.json- a definition file for the Win32 package and can be used with theIntuneWin32AppPowerShell module to import into an Intune tenant
v2504.01.215
- Adds
ShowNotificationIconto enable 'Notifications / Show notification bell icon' - Adds
MicrosoftCorporationII.WinAppRuntime.Main.1.5_8wekyb3d8bbweandMicrosoftCorporationII.WinAppRuntime.Singleton_8wekyb3d8bbweto the list of packages to keep inRemove-AppxApps.ps1 - Renames log file name to
WindowsEnterpriseDefaults.log
Files
This release includes several file assets:
image-customise.zip- a downloadable copy of the solution that can be used anywhereimage-customise.intunewin- a copy of the solution in Intune Win32 format for deployment to manage devicesWin32App.json- a definition file for the Win32 package and can be used with theIntuneWin32AppPowerShell module to import into an Intune tenant
v2503.30.213
- Updates
Install-Defaults.ps1to install language packs on Windows Server 2025 and above - Updates
Remove-AppxApps.ps1with more verbose output for troubleshooting - Adds a default user profile settings config file for Windows Server 2025 and above
- Adds a custom Start menu for Windows Server 2025 Remote Desktop session hosts
- Adds a description property to the JSON configuration files
- Fixes an issue with applying REG_BINARY registry values
- Sets
VisiblePlacesto enable Settings and File Explorer on the Start menu next to the power button on Windows 11 and Windows Server 2025
Files
This release includes several file assets:
image-customise.zip- a downloadable copy of the solution that can be used anywhereimage-customise.intunewin- a copy of the solution in Intune Win32 format for deployment to manage devicesWin32App.json- a definition file for the Win32 package and can be used with theIntuneWin32AppPowerShell module to import into an Intune tenant