talksr Posted April 30, 2025 Posted April 30, 2025 Hi there, I would be really grateful if anyone could share their methods for removing annoying Windows 11 bloatware from their Intune-connected systems. By default, we seem to get Xbox, Solitaire & Casual games, Microsoft Clipchamp, LinkedIn and possibly more. I tried making a few PowerShell scripts to deal with this, but most seem to fail. Has anyone found a way around this? We are running Windows 11 24H2 26100.3775. Here is an example of one of the ps1 scripts I tried.... # Remove Windows 11 Bloatware and also Learn about this picture ico on desktop for all users, with Windows Event Logging # Ensure the script runs with elevated permissions if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Write-Host "Please run this script as Administrator!" -ForegroundColor Red exit } Write-Host "Starting bloatware & Windows Spotlight removal process..." -ForegroundColor Green # Register an Event Source (if not already present) $EventSource = "IntuneBloatwareRemoval" if (-not [System.Diagnostics.EventLog]::SourceExists($EventSource)) { New-EventLog -LogName Application -Source $EventSource } # Log Start of Script Execution Write-EventLog -LogName Application -Source $EventSource -EntryType Information -EventId 1000 -Message "Starting bloatware & Windows Spotlight removal process." # List of apps to remove $BloatwareApps = @( "*Xbox*", "*LinkedIn*", "*Clipchamp*", "*Solitaire*", "*Weather*", "*News*", "*Paint3D*", "*MixedRealityPortal*", "*Skype*", "*People*", "*WindowsTips*" ) # Remove provisioned packages (for new users) Write-Host "Removing provisioned packages for new users..." -ForegroundColor Yellow foreach ($App in $BloatwareApps) { try { Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like $App} | Remove-AppxProvisionedPackage -Online -ErrorAction SilentlyContinue Write-EventLog -LogName Application -Source $EventSource -EntryType Information -EventId 1001 -Message "Provisioned package removed: $App" } catch { Write-EventLog -LogName Application -Source $EventSource -EntryType Error -EventId 1002 -Message "Error removing provisioned package: $App - $($_.Exception.Message)" } } # Remove installed packages (for existing users) Write-Host "Removing installed packages for existing users..." -ForegroundColor Yellow $Profiles = Get-CimInstance -ClassName Win32_UserProfile | Where-Object { $_.Special -eq $false } foreach ($Profile in $Profiles) { if ($Profile.SID -and $Profile.LocalPath) { Write-EventLog -LogName Application -Source $EventSource -EntryType Information -EventId 1009 -Message "Processing user profile: $($Profile.LocalPath) with SID: $($Profile.SID)" try { foreach ($App in $BloatwareApps) { $Packages = Get-AppxPackage -User $Profile.SID | Where-Object {$_.Name -like $App} foreach ($Package in $Packages) { Remove-AppxPackage -Package $Package.PackageFullName -User $Profile.SID -ErrorAction SilentlyContinue Write-EventLog -LogName Application -Source $EventSource -EntryType Information -EventId 1003 -Message "Removed app for user $($Profile.LocalPath): $Package.PackageFullName" } } Write-Host "Removed apps for user: $($Profile.LocalPath)" -ForegroundColor Green } catch { Write-EventLog -LogName Application -Source $EventSource -EntryType Error -EventId 1004 -Message "Failed to remove apps for user: $($Profile.LocalPath) - $($_.Exception.Message)" } } else { Write-EventLog -LogName Application -Source $EventSource -EntryType Warning -EventId 1005 -Message "Skipping profile with invalid SID or path: $($Profile.LocalPath)" } } # Remove "Learn about this picture" Windows Spotlight icon Write-Host "Removing 'Learn about this picture' desktop icon..." -ForegroundColor Yellow $RegPaths = @( "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{2cc5ca98-6485-489a-920e-b3e88a6ccce3}", "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel", "HKLM:\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{2cc5ca98-6485-489a-920e-b3e88a6ccce3}", "HKLM:\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel" ) foreach ($RegPath in $RegPaths) { if (Test-Path $RegPath) { try { Remove-Item -Path $RegPath -Recurse -ErrorAction SilentlyContinue New-ItemProperty -Path $RegPath -Name "{2cc5ca98-6485-489a-920e-b3e88a6ccce3}" -PropertyType DWORD -Value 1 -Force -ErrorAction SilentlyContinue Write-EventLog -LogName Application -Source $EventSource -EntryType Information -EventId 1006 -Message "Removed Windows Spotlight registry: $RegPath" } catch { Write-EventLog -LogName Application -Source $EventSource -EntryType Error -EventId 1007 -Message "Failed to modify registry: $RegPath - $($_.Exception.Message)" } } } # Log completion Write-EventLog -LogName Application -Source $EventSource -EntryType Information -EventId 1008 -Message "Bloatware and Windows Spotlight removal completed successfully." Write-Host "All specified apps and Windows Spotlight have been successfully removed!" -ForegroundColor Green
6Foot3 Posted April 30, 2025 Posted April 30, 2025 https://andrewstaylor.com/2022/08/09/removing-bloatware-from-windows-10-11-via-script/ 1
mikes Posted April 30, 2025 Posted April 30, 2025 (edited) For us we did the AppX package in the script above manually (i.e. we had a full image and I picked which ones to remove based on what we didn't need) Get-AppXPackage *BingNews* | Remove-AppXPackage -AllUsers Had to use -AllUsers or it didn't work - there is a list online (or you can do Get-AppXPackage *string* We used to do a fully stripped image but back in the Win Se7en days I remember having an issue when we needed to install some software for a teacher and it needed a part of Windows we had removed. These days I'm sure the script would be fine (I'd have used it if I knew about it) but you can choose what you want to keep/remove this way (Put the powershell lines as part of our task sequence so it automatically does it) Edited April 30, 2025 by mikes 1
MartinByard Posted April 30, 2025 Posted April 30, 2025 At the minute we run this script in our SCCM task sequence whilst the machine is still in the WinPE phase: # *************************************************************************** # # File: RemoveApps.ps1 # # Version: 1.2 # # Author: Michael Niehaus # # Purpose: Removes some or all of the in-box apps on Windows 8, Windows 8.1, # or Windows 10 systems. The script supports both offline and # online removal. By default it will remove all apps, but you can # provide a separate RemoveApps.xml file with a list of apps that # you want to instead remove. If this file doesn't exist, the # script will recreate one in the log or temp folder, so you can # run the script once, grab the file, make whatever changes you # want, then put the file alongside the script and it will remove # only the apps you specified. # # Usage: This script can be added into any MDT or ConfigMgr task sequences. # It has a few dependencies: # 1. For offline use in Windows PE, the .NET Framework, # PowerShell, DISM Cmdlets, and Storage cmdlets must be # included in the boot image. # 2. Script execution must be enabled, e.g. "Set-ExecutionPolicy # Bypass". This can be done via a separate task sequence # step if needed, see http://blogs.technet.com/mniehaus for # more information. # # ------------- DISCLAIMER ------------------------------------------------- # This script code is provided as is with no guarantee or waranty concerning # the usability or impact on systems and may be used, distributed, and # modified in any way provided the parties agree and acknowledge the # Microsoft or Microsoft Partners have neither accountabilty or # responsibility for results produced by use of this script. # # Microsoft will not provide any support through any means. # ------------- DISCLAIMER ------------------------------------------------- # # *************************************************************************** # --------------------------------------------------------------------------- # Initialization # --------------------------------------------------------------------------- if ($env:SYSTEMDRIVE -eq "X:") { $script:Offline = $true # Find Windows $drives = get-volume | ? {-not [String]::IsNullOrWhiteSpace($_.DriveLetter) } | ? {$_.DriveType -eq 'Fixed'} | ? {$_.DriveLetter -ne 'X'} $drives | ? { Test-Path "$($_.DriveLetter):\Windows\System32"} | % { $script:OfflinePath = "$($_.DriveLetter):\" } Write-Verbose "Eligible offline drive found: $script:OfflinePath" } else { Write-Verbose "Running in the full OS." $script:Offline = $false } # --------------------------------------------------------------------------- # Get-LogDir: Return the location for logs and output files # --------------------------------------------------------------------------- function Get-LogDir { try { $ts = New-Object -ComObject Microsoft.SMS.TSEnvironment -ErrorAction Stop if ($ts.Value("LogPath") -ne "") { $logDir = $ts.Value("LogPath") } else { $logDir = $ts.Value("_SMSTSLogPath") } } catch { $logDir = $env:TEMP } return $logDir } # --------------------------------------------------------------------------- # Get-AppList: Return the list of apps to be removed # --------------------------------------------------------------------------- function Get-AppList { begin { # Look for a config file. $configFile = "$PSScriptRoot\RemoveApps11.xml" if (Test-Path -Path $configFile) { # Read the list Write-Verbose "Reading list of apps from $configFile" $list = Get-Content $configFile } else { # No list? Build one with all apps. Write-Verbose "Building list of provisioned apps" $list = @() if ($script:Offline) { Get-AppxProvisionedPackage -Path $script:OfflinePath | % { $list += $_.DisplayName } } else { Get-AppxProvisionedPackage -Online | % { $list += $_.DisplayName } } # Write the list to the log path $logDir = Get-LogDir $configFile = "$logDir\RemoveApps.xml" $list | Set-Content $configFile Write-Information "Wrote list of apps to $logDir\RemoveApps.xml, edit and place in the same folder as the script to use that list for future script executions" } Write-Information "Apps selected for removal: $list.Count" } process { $list } } # --------------------------------------------------------------------------- # Remove-App: Remove the specified app (online or offline) # --------------------------------------------------------------------------- function Remove-App { [CmdletBinding()] param ( [parameter(Mandatory=$true,ValueFromPipeline=$true)] [string] $appName ) begin { # Determine offline or online if ($script:Offline) { $script:Provisioned = Get-AppxProvisionedPackage -Path $script:OfflinePath } else { $script:Provisioned = Get-AppxProvisionedPackage -Online $script:AppxPackages = Get-AppxPackage } } process { $app = $_ # Remove the provisioned package Write-Information "Removing provisioned package $_" $current = $script:Provisioned | ? { $_.DisplayName -eq $app } if ($current) { if ($script:Offline) { $a = Remove-AppxProvisionedPackage -Path $script:OfflinePath -PackageName $current.PackageName } else { $a = Remove-AppxProvisionedPackage -Online -PackageName $current.PackageName } } else { Write-Warning "Unable to find provisioned package $_" } # If online, remove installed apps too if (-not $script:Offline) { Write-Information "Removing installed package $_" $current = $script:AppxPackages | ? {$_.Name -eq $app } if ($current) { $current | Remove-AppxPackage } else { Write-Warning "Unable to find installed app $_" } } } } # --------------------------------------------------------------------------- # Main logic # --------------------------------------------------------------------------- $logDir = Get-LogDir Start-Transcript "$logDir\RemoveApps.log" Get-AppList | Remove-App Stop-Transcript with this in an xml file in the location with the name from the script: Clipchamp.Clipchamp Microsoft.549981C3F5F10 Microsoft.BingNews Microsoft.BingWeather Microsoft.GamingApp Microsoft.GetHelp Microsoft.Getstarted Microsoft.MicrosoftOfficeHub Microsoft.MicrosoftSolitaireCollection Microsoft.People Microsoft.PowerAutomateDesktop Microsoft.SecHealthUI Microsoft.Todos Microsoft.WindowsAlarms microsoft.windowscommunicationsapps Microsoft.WindowsFeedbackHub Microsoft.WindowsMaps Microsoft.WindowsSoundRecorder Microsoft.Xbox.TCUI Microsoft.XboxGameOverlay Microsoft.XboxGamingOverlay Microsoft.XboxIdentityProvider Microsoft.XboxSpeechToTextOverlay Microsoft.YourPhone Microsoft.ZuneMusic Microsoft.ZuneVideo This seems to give us a relatively clean install. 1
Langella Posted May 1, 2025 Posted May 1, 2025 (edited) I like this one GitHub - ChrisTitusTech/winutil: Chris Titus Tech's Windows Utility - Install Programs, Tweaks, Fixes, and Updates You can extract the powwershell commands that does the job and implement it via GPO / Intune Edited May 1, 2025 by Langella
Squelch Posted May 1, 2025 Posted May 1, 2025 I use NTLite to remove unwanted packages from the base image (I also add the Teams msxi, printer drivers and windows updates).
Hoyt Posted May 2, 2025 Posted May 2, 2025 Hey Squelch I have heard of NTLite but haven't ever remembered to give it a try. After you customize your install do you know if it will usually Sysprep properly?
Squelch Posted May 2, 2025 Posted May 2, 2025 It creates an iso at the end of the process and I either use rufus to make a usb drive or copy the wim to mdt. I don’t sysprep so can’t really advise about that. I found a demo of NTLite on YouTube, it works really well for me.
supportman Posted May 7, 2025 Posted May 7, 2025 NTLite and the autounattend.xml file works very well for us here. 1
Hoyt Posted May 7, 2025 Posted May 7, 2025 21 minutes ago, supportman said: NTLite and the autounattend.xml file works very well for us here. That does sound like a good combo for a clean installation. What we wind up doing though is creating an image and then running Sysprep on it before deployment. It really saves time when we get a large shipment of PCs. I was wondering how to eliminate all the startup questions when booting up a Sysprepped image. I have seen it done from a vendor once, but I don't know how they did it.
timbo343 Posted May 7, 2025 Posted May 7, 2025 (edited) Is there a quick and easy way to do this for all users so if a new profile is created, none of the crud is created too? Update: added -AllUsers to Remove-App $logDir = Get-LogDir Start-Transcript "$logDir\RemoveApps.log" Get-AppList | Remove-App -AllUsers Stop-Transcript Edited May 7, 2025 by timbo343 Found a workable solution
Jobos Posted May 7, 2025 Posted May 7, 2025 On 30/04/2025 at 12:05, mikes said: We used to do a fully stripped image but back in the Win Se7en days I remember having an issue when we needed to install some software for a teacher and it needed a part of Windows we had removed. Don't want to hijack the thread but we are in the same boat as when the machines were imaged the camera app was removed and now we need it. Is there a way to automatically add it to each user at logon to save reimaging?
timbo343 Posted May 7, 2025 Posted May 7, 2025 Another update to this, I've used this - https://schneegans.de/windows/unattend-generator/ - to create a custom autounattend.xml file and added the xml to a Windows 11 ISO using AnyBurn. A feature in there is called Edit Image File where I added the autounattend.xml file to the root of the ISO. I must say it's installed Windows 11 Education 24H2 without the crud. It has left the following on: PS C:\WINDOWS\system32> Get-AppxPackage -AllUsers | Select Name, Version Name Version ---- ------- 1527c705-839a-4832-9118-54d4Bd6a0c89 10.0.19640.1000 c5e2524a-ea46-4f67-841f-6a9465d9d515 10.0.26100.1 E2A4F912-2574-4A75-9BB0-0D023378592B 10.0.19640.1000 F46D4000-FD22-4DB4-AC8E-4E1DDDE828FE 10.0.26100.1 Microsoft.AAD.BrokerPlugin 1000.19580.1000.0 Microsoft.AccountsControl 10.0.26100.1 Microsoft.AsyncTextService 10.0.26100.1 Microsoft.BioEnrollment 10.0.19587.1000 Microsoft.CredDialogHost 10.0.19595.1001 Microsoft.ECApp 10.0.26100.1150 Microsoft.LockApp 10.0.26100.1301 Microsoft.MicrosoftEdgeDevToolsClient 1000.25128.1000.0 Microsoft.UI.Xaml.CBS 9.2311.10002.0 Microsoft.Win32WebViewHost 10.0.26100.1 Microsoft.Windows.Apprep.ChxApp 1000.25128.1000.0 Microsoft.Windows.AssignedAccessLockApp 1000.25128.1000.0 Microsoft.Windows.CapturePicker 10.0.19580.1000 Microsoft.Windows.CloudExperienceHost 10.0.26100.1 Microsoft.Windows.ContentDeliveryManager 10.0.26100.1 Microsoft.Windows.NarratorQuickStart 10.0.26100.1 Microsoft.MicrosoftEdge.Stable 122.0.2365.106 Microsoft.Windows.OOBENetworkCaptivePortal 10.0.21302.1000 Microsoft.Windows.OOBENetworkConnectionFlow 10.0.21302.1000 Microsoft.Windows.ParentalControls 1000.25128.1000.0 Microsoft.Windows.PeopleExperienceHost 10.0.26100.1 Microsoft.Windows.PinningConfirmationDialog 1000.25140.1001.0 Microsoft.Windows.PrintQueueActionCenter 1.0.2.0 Microsoft.Windows.SecureAssessmentBrowser 10.0.26100.1 Microsoft.Windows.ShellExperienceHost 10.0.26100.1301 Microsoft.Windows.StartMenuExperienceHost 10.0.26100.1301 Microsoft.Windows.XGpuEjectDialog 10.0.26100.1 Microsoft.WindowsAppRuntime.CBS 5001.184.1607.0 Microsoft.XboxGameCallableUI 1000.25128.1000.0 MicrosoftWindows.Client.AIX 1000.26100.29.0 MicrosoftWindows.Client.CBS 1000.26100.18.0 MicrosoftWindows.Client.Core 1000.26100.19.0 MicrosoftWindows.Client.FileExp 1000.26100.3.0 MicrosoftWindows.Client.OOBE 1000.26100.2.0 MicrosoftWindows.Client.Photon 1000.26100.4.0 MicrosoftWindows.LKG.AccountsService 1000.26100.1742.0 MicrosoftWindows.LKG.IrisService 1000.26100.1742.0 MicrosoftWindows.LKG.Search 1000.26100.1742.0 MicrosoftWindows.UndockedDevKit 10.0.26100.1 NcsiUwpApp 1000.25128.1000.0 Windows.CBSPreview 10.0.19580.1000 windows.immersivecontrolpanel 10.0.8.1000 Windows.PrintDialog 6.2.3.0 Microsoft.WindowsAppRuntime.1.3 3000.934.1904.0 Microsoft.NET.Native.Runtime.2.2 2.2.28604.0 Microsoft.NET.Native.Framework.2.2 2.2.29512.0 Microsoft.VCLibs.140.00.UWPDesktop 14.0.30704.0 Microsoft.UI.Xaml.2.8 8.2310.30001.0 Microsoft.VCLibs.140.00 14.0.30704.0 Microsoft.ApplicationCompatibilityEnhancements 1.2401.10.0 Microsoft.AV1VideoExtension 1.1.61781.0 Microsoft.AVCEncoderVideoExtension 1.0.271.0 Microsoft.DesktopAppInstaller 1.21.10120.0 Microsoft.GetHelp 10.2302.10601.0 Microsoft.HEIFImageExtension 1.0.63001.0 Microsoft.HEVCVideoExtension 2.0.61931.0 Microsoft.MicrosoftStickyNotes 4.0.4602.0 Microsoft.MPEG2VideoExtension 1.0.61931.0 Microsoft.Paint 11.2302.20.0 Microsoft.RawImageExtension 2.3.171.0 Microsoft.ScreenSketch 11.2307.52.0 Microsoft.SecHealthUI 1000.26100.1.0 Microsoft.StorePurchaseApp 22312.1400.6.0 Microsoft.VP9VideoExtensions 1.1.451.0 Microsoft.WebMediaExtensions 1.0.62931.0 Microsoft.WebpImageExtension 1.0.62681.0 Microsoft.Windows.Photos 24.24010.29003.0 Microsoft.WindowsAlarms 1.0.188.0 Microsoft.WindowsCalculator 11.2311.0.0 Microsoft.WindowsCamera 2023.2312.3.0 Microsoft.WindowsNotepad 11.2312.18.0 Microsoft.WindowsSoundRecorder 1.0.76.0 Microsoft.WindowsStore 22401.1400.6.0 Microsoft.ZuneMusic 11.2312.8.0 MicrosoftWindows.Client.WebExperience 424.1301.270.9 MicrosoftWindows.CrossDevice 0.23101.22.0 This is what I initially used to remove the bloatware: Added a few more items to the RemoveApp.xml list: Clipchamp.Clipchamp Microsoft.549981C3F5F10 Microsoft.BingSearch Microsoft.BingNews Microsoft.BingWeather Microsoft.GamingApp Microsoft.GetHelp Microsoft.Getstarted Microsoft.MicrosoftOfficeHub Microsoft.MicrosoftSolitaireCollection Microsoft.People Microsoft.PowerAutomateDesktop Microsoft.SecHealthUI Microsoft.MicrosoftStickyNotes Microsoft.OutlookForWindows Microsoft.Todos Microsoft.WindowsAlarms microsoft.windowscommunicationsapps Microsoft.WindowsFeedbackHub Microsoft.WindowsMaps Microsoft.WindowsSoundRecorder Microsoft.Xbox.TCUI Microsoft.XboxGameOverlay Microsoft.XboxGamingOverlay Microsoft.XboxIdentityProvider Microsoft.XboxSpeechToTextOverlay Microsoft.YourPhone Microsoft.ZuneMusic Microsoft.ZuneVideo Microsoft.WindowsTerminal Microsoft.Copilot MSTeams Microsoft.WindowsStore Microsoft.XboxGameCallableUI Microsoft.Getstarted Microsoftwindows.client.webexperience Windows.CBSPreview Struggling to remove "Get Started" but don't think it's possible to remove. Maybe Custom Start Menus will do the trick. 1
timbo343 Posted May 7, 2025 Posted May 7, 2025 Anyone got inplace upgrades to work with unattend answer files that don't wipe the OS drive?
Theldron Posted May 8, 2025 Posted May 8, 2025 How do you get rid of QuickAssist with this? I have tried Get-AppXPackage *QuickAssist* | Remove-AppXPackage -AllUsers but it doesn't work. I just know that students will mess with this.
CHiLL Posted May 8, 2025 Posted May 8, 2025 38 minutes ago, Theldron said: How do you get rid of QuickAssist with this? I have tried Get-AppXPackage *QuickAssist* | Remove-AppXPackage -AllUsers but it doesn't work. I just know that students will mess with this. Why don't you use AppLocker to block access to the app instead?
timbo343 Posted May 8, 2025 Posted May 8, 2025 I've just run Get-AppXPackage *QuickAssist* | Remove-AppXPackage -AllUsers on my test machine and it's taken off MicrosoftCorporationII.QuickAssist
talksr Posted May 16, 2025 Author Posted May 16, 2025 On 30/04/2025 at 11:18, alordcharlie said: https://andrewstaylor.com/2022/08/09/removing-bloatware-from-windows-10-11-via-script/ Thanks everyone, This post was the first I saw, thanks @alordcharlie and everyone else for your useful posts. The Andrew S Taylor script worked really well, however it removed OneDrive which was no good for us. I made a comment on his site and he did update the ps1. What I decided to do, was copy his ps and put it on my own repository and then customised it to what we need, which currently is, OneDrive installed locally, Dell Command Update Apps etc. On his original script, the Dell software was set to remove. So far, it is working really well. It is a very good script.I just changed this part of the invoke script: Quote Invoke-WebRequest ` -Uri "https://raw.githubusercontent.com/andrew-s-taylor/public/main/De-Bloat/RemoveBloat.ps1" ` To my version in my repository. It now means, I can make changes as necessary to RemoveBloat.ps1, if for instance, we needed Camera App or certain apps which are currently set for removal by adding to whitelist. I have left Andrew’s details on the scripts in my repository for his credit. Thanks everyone for your help on this. 2
altecsole Posted May 16, 2025 Posted May 16, 2025 We don't bother removing anything anymore - we just use Applocker to restrict access. 2
ThomL Posted May 16, 2025 Posted May 16, 2025 5 minutes ago, altecsole said: We don't bother removing anything anymore - we just use Applocker to restrict access. This was the route I was going to take, but it seems that profiles are fairly hefty and initial logins are rather slow - going to remove some of the bloat and see if it has a positive impact. 1
altecsole Posted May 16, 2025 Posted May 16, 2025 11 minutes ago, ThomL said: This was the route I was going to take, but it seems that profiles are fairly hefty and initial logins are rather slow - going to remove some of the bloat and see if it has a positive impact. We redirect AppData, which seems to help with this. Plus, seating plans mean that students tend to logon to the same computers each time, so quicker logons after the initial logon.
aydee Posted May 16, 2025 Posted May 16, 2025 Redirected Desktops, and using OpenShell to only show needed items in the start menu. This is for our Win10 setup, but planning on using the same system for Win11 when we deploy it. 1
Hoyt Posted May 16, 2025 Posted May 16, 2025 Thom we use redirected Desktops which helps a lot. Also if initial logins are slow check this in your Group Policy: Computer Configuration, Administrative Templates, System, and open Logon Disable Show first sign-in animation If I am remembering correctly this is what I did years ago when we first went to Windows 10 to speed up the first login of a user to a PC. 2
5nowman Posted May 21, 2025 Posted May 21, 2025 Hi! Epic post. Useful info here. What was the big reason you used Windows 11 Education and not Professional seeing as you are doing an app cleanout. We currently use Windows 10 LTSC - want to move to a different version of windows next time and having a hard time deciding which. A Simple primary school. Any advice would be cool! 5nowman
Squelch Posted May 21, 2025 Posted May 21, 2025 As we use Intune with A3 licenses we have to install Pro first.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now