garethEds Posted May 23, 2016 Posted May 23, 2016 its not like ms cant do it i remember on windows 95/98/me you could create a sysprep file that did/diddnt install solitaire/minesweeper etc I just find it hard to believe that Microsoft do not go and sit with educational/technical specialists like the people on here and work together in a real school environment to see what really needs to be put in place. As pointed out - okay maybe we are not the end people MS want to focus on, but we should still be considered. Gareth
timbo343 Posted May 23, 2016 Posted May 23, 2016 I just find it hard to believe that Microsoft do not go and sit with educational/technical specialists like the people on here and work together in a real school environment to see what really needs to be put in place. As pointed out - okay maybe we are not the end people MS want to focus on, but we should still be considered. Gareth Why would an enterprise user what a link to World of Tanks, Farmville, Candy Crush, Duolingo? Surely you would think MS would release a version of Windows which is bloatware free and gets the updates and upgrades. I'm so wound up with MS I could go on about all this in a separate thread.
DJ-1701 Posted May 23, 2016 Posted May 23, 2016 Why would an enterprise user what a link to World of Tanks, Farmville, Candy Crush, Duolingo? Surely you would think MS would release a version of Windows which is bloatware free and gets the updates and upgrades. I'm so wound up with MS I could go on about all this in a separate thread. Because I am the CEO and I want my toys? Seriously though, I bet there will be a lot of organisations in the same boat as us. Duolingo though, isn't that educating others to learn a foreign language?
timbo343 Posted May 23, 2016 Posted May 23, 2016 I have created a PowerShell script you might find useful. It's based on the script I linked to above, but I have modified it to work with an offline Windows image (i.e. the install.wim from a Windows 10 ISO). All you need to do is to save it in the same folder as an install.wim, add or remove any apps you want to keep from the section highlighted in red (use the DisplayName, not the PackageName) and then run the script from an elevated PowerShell prompt. What you should end up with is a Windows image that only contains the apps you want. I have tested it with several of the Anniversary Update builds and it works perfectly with those too. #Requires –Version 5.0 #Requires -RunAsAdministrator #Requires –Modules Dism # Get script directory if ($myInvocation.MyCommand.CommandType -ne [system.Management.Automation.CommandTypes]::Script) { $ScriptDir = [system.IO.Path]::GetDirectoryName($myInvocation.MyCommand.Definition) } else { $ScriptDir = [system.IO.Path]::GetDirectoryName($psISE.CurrentFile.FullPath) } Set-Location "$ScriptDir" # Create mount folder if it doesn't exist if (!(Test-Path -path "$ScriptDir\Mount")) { New-Item "$ScriptDir\Mount" -Type Directory -Force | Out-Null } Get-WindowsImage -ImagePath "$ScriptDir\install.wim" -ErrorAction Stop | ForEach-Object { # Mount image(s) "{0} {1} {2}" -f "Mounting image", $($_.ImageIndex), "`n" Mount-WindowsImage -Path "$ScriptDir\Mount" -ErrorAction Stop -Index $_.ImageIndex -ImagePath $_.ImagePath | Out-Null # Get a list of all apps $AppArrayList = Get-AppxProvisionedPackage -Path "$ScriptDir\Mount" | Select-Object -Property DisplayName,PackageName | Sort-Object -Property DisplayName # Loop through the list of apps ForEach ($App in $AppArrayList) { # Exclude essential Windows apps if (($App.DisplayName -in "[color="#FF0000"]Microsoft.WindowsCalculator[/color]","[color="#FF0000"]Microsoft.WindowsStore[/color]","[color="#FF0000"]Microsoft.Appconnector[/color]","[color="#FF0000"]Microsoft.WindowsSoundRecorder[/color]")) { Write-Output -InputObject "Skipping: $($App.DisplayName)" } # Remove everything else else { $AppProvisioningPackageName = Get-AppxProvisionedPackage -Path "$ScriptDir\Mount" | Where-Object { $_.DisplayName -like $App.DisplayName } | Select-Object -ExpandProperty PackageName # Attempt to remove AppxProvisioningPackage try { Write-Output -InputObject "Removing: $AppProvisioningPackageName" Remove-AppxProvisionedPackage -PackageName $AppProvisioningPackageName -Path "$ScriptDir\Mount" -ErrorAction Stop | Out-Null } catch [system.Exception] { Write-Warning -Message $_.Exception.Message } } # Else } # ForEach [color="#4B0082"] #region Customise Default User Profile Write-Output -InputObject "`nCustomising the default user profile" REG LOAD "HKLM\_USER" "$ScriptDir\Mount\Users\Default\NTUSER.DAT" | Out-Null REG LOAD "HKLM\_SOFTWARE" "$ScriptDir\Mount\Windows\System32\config\SOFTWARE" | Out-Null & REG ADD "HKLM\_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v LaunchTo /d 1 /t REG_DWORD /f & REG ADD "HKLM\_USER\Software\Microsoft\Windows\CurrentVersion\Search" /v BingSearchEnabled /d 0 /t REG_DWORD /f & REG ADD "HKLM\_USER\Software\Microsoft\Windows\CurrentVersion\Search" /v SearchboxTaskbarMode /d 1 /t REG_DWORD /f & REG ADD "HKLM\_SOFTWARE\Policies\Microsoft\Windows\CloudContent" /v DisableWindowsConsumerFeatures /d 1 /t REG_DWORD /f REG UNLOAD "HKLM\_USER" | Out-Null REG UNLOAD "HKLM\_SOFTWARE" | Out-Null #endregion[/color] "{0} {1}" -f "`nUnmounting image", $($_.ImageIndex) Get-WindowsImage -Mounted | Dismount-WindowsImage -Save -ErrorAction Stop | Out-Null } # Get-WindowsImage The section highlighted in purple is optional, although it's probably worth keeping so that the "DisableWindowsConsumerFeatures" registry value mentioned in the very first post is added and to avoid the issue described in post #11. The other three registry values above it can be deleted if they aren't required. Removing the apps offline has several advantages... What about removing the packages on a fresh standalone version of windows. I'm playing with a fresh install of enterprise 14332 which has different package names. I copied your script but I complained at the Get-image part. Is there a script that can work in the same way as get-appxpackag [nameofappx] but for remove-appxprovisionedpackage [partofname]
Arthur Posted May 23, 2016 Author Posted May 23, 2016 What about removing the packages on a fresh standalone version of Windows. If you want to remove apps from Windows while logged in as an Administrator you would be better off using the script that mine is based upon (also linked to in post #16)... www.scconfigmgr.com/2016/03/01/remove-built-in-apps-when-creating-a-windows-10-reference-image/ My script is for when you using the untouched image from a Windows 10 ISO downloaded from Microsoft. I'm playing with a fresh install of enterprise 14332 which has different package names. In my script and the one from scconfigmgr.com you would use the DisplayName for each app you want to keep since these are consistent across the various Windows builds, not the longer PackageName which contains the version and other details. For example, the calculator app has exactly the same DisplayName (Microsoft.WindowsCalculator) in builds 10240, 10586 and 14332. http://i.imgur.com/3w8pgXq.png I copied your script but it complained at the Get-image part. Was the install.wim in the same folder as the script? Which version of Windows 10 were you running the script on?
Arthur Posted May 24, 2016 Author Posted May 24, 2016 Is there a script that can work in the same way as get-appxpackage [nameofappx] but for remove-appxprovisionedpackage [partofname] Just to clarify. When you run my script the unwanted apps are removed using their full PackageName, despite using the DisplayName for the apps you want to keep.
timbo343 Posted May 24, 2016 Posted May 24, 2016 Yeah it did, thanks, that was what i was after, but still toying between education and ltsb.
timbo343 Posted May 24, 2016 Posted May 24, 2016 Was the install.wim in the same folder as the script? Which version of Windows 10 were you running the script on? To be honest, i just wanted a quick fix to see what the script did so didnt put the script in the same folder as the install.wim file.
Simcfc73 Posted June 15, 2016 Posted June 15, 2016 I am getting a unmount error at the end... Unmounting image 1 Dismount-WindowsImage : The handle is invalid. At D:\iso\w10_1511\sources\1.ps1:64 char:33 + ... mage -Mounted | Dismount-WindowsImage -Save -ErrorAction Stop | Out-N ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: ( [Dismount-WindowsImage], COMException + FullyQualifiedErrorId : Microsoft.Dism.Commands.DismountWindowsImageCommand Trying this command to sort it but having to leave it running dism /unmount-Wim /MountDir:d:\iso\w10_1511\sources\Mount /commit
Arthur Posted June 15, 2016 Author Posted June 15, 2016 Trying this command to sort it but having to leave it running dism /unmount-Wim /MountDir:d:\iso\w10_1511\sources\Mount /commit Did the image get unmounted properly? If not, run this to clean things up... dism /cleanup-wim I am getting an unmount error at the end... Unmounting image 1 Dismount-WindowsImage : The handle is invalid. At D:\iso\w10_1511\sources\1.ps1:64 char:33 + ... mage -Mounted | Dismount-WindowsImage -Save -ErrorAction Stop | Out-N ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: ( [Dismount-WindowsImage], COMException + FullyQualifiedErrorId : Microsoft.Dism.Commands.DismountWindowsImageCommand Could you copy the install.wim from your Windows ISO to a brand new folder along with the script and then try running it again?
Simcfc73 Posted June 16, 2016 Posted June 16, 2016 This seemed to have fixed it dism /unmount-Wim /MountDir:d:\iso\w10_1511\sources\Mount /commit The image works perfectly now thanks. I am using 1511 so will make a new one when the next build comes out... if its worth it. Stuck is on a USB with a answer file from Windows Answer File Generator and a perfect installed Windows 10 in 10 minutes.
mullet_man Posted June 20, 2016 Posted June 20, 2016 Am setting the GP but still finding all the crap is installing. It's installing for new users. Any ideas?
Norphy Posted June 20, 2016 Posted June 20, 2016 Am setting the GP but still finding all the crap is installing. It's installing for new users. Any ideas? What crap specifically?
Norphy Posted June 20, 2016 Posted June 20, 2016 (edited) Yeah... You have to narrow it down a little. The GPO setting will only get rid of Candy Crush saga and then, only for a user that's not logged onto that computer before. If you want to be rid of the Bing and Xbox stuff, you need to deprovision them https://technet.microsoft.com/en-us/library/hh852174.aspx This is what I use to get rid of them: Get-ProvisionedAppxPackage -online ` | where-object {$_.DisplayName -like "*xbox*" ` -or $_.DisplayName -like "*Zune*" ` -or $_.DisplayName -like "*skype*" ` -or $_.DisplayName -like "*solitaire*" ` -or $_.DisplayName -like "*bing*" ` -or $_.DisplayName -like "*3dbuilder*" ` -or $_.DisplayName -like "*Sway*" ` -or $_.DisplayName -like "*OfficeHub*"} ` | Remove-ProvisionedAppxPackage -online Edited June 20, 2016 by Norphy
mullet_man Posted June 20, 2016 Posted June 20, 2016 Yeah... You have to narrow it down a little. The GPO setting will only get rid of Candy Crush saga and then, only for a user that's not logged onto that computer before. If you want to be rid of the Bing and Xbox stuff, you need to deprovision them https://technet.microsoft.com/en-us/library/hh852174.aspx This is what I use to get rid of them: Get-ProvisionedAppxPackage -online ` | where-object {$_.DisplayName -like "*xbox*" ` -or $_.DisplayName -like "*Zune*" ` -or $_.DisplayName -like "*skype*" ` -or $_.DisplayName -like "*solitaire*" ` -or $_.DisplayName -like "*bing*" ` -or $_.DisplayName -like "*3dbuilder*" ` -or $_.DisplayName -like "*Sway*" ` -or $_.DisplayName -like "*OfficeHub*"} ` | Remove-ProvisionedAppxPackage -online Thanks, I've just re-read the original post and got the wrong idea based on the images posted. I thought it stopped all apps from installing. Cheers matey.
mullet_man Posted June 20, 2016 Posted June 20, 2016 Am looking at adding in task sequence to remove the apps during the image process, seems simple enough so will give it a test. Just getting ready for the summer when we will deploy out Win 10 hopefully.
Norphy Posted June 20, 2016 Posted June 20, 2016 That's what I've tried with W10 and SCCM, seems to work well enough.
mullet_man Posted June 21, 2016 Posted June 21, 2016 That's what I've tried with W10 and SCCM, seems to work well enough. Seems to have worked on my test VM. Going to deploy out to a student laptop to test. I need to get the logins as quick as possible on these old student laptops. i3, 2GB RAM non SSDs. Cheers.
ITGuyNW Posted June 21, 2016 Posted June 21, 2016 (edited) Anyone finding that the Xbox app is completely refusing to disappear from the Start Menu? I've tried the catch all codes above and trying to delete it individually, but to no avail. Edited June 21, 2016 by ITGuyNW
sted Posted June 21, 2016 Posted June 21, 2016 try remove provisioned appx package iirc but youre much better off using dism mounting the image and removing them before you deploy it
garethEds Posted June 28, 2016 Posted June 28, 2016 try remove provisioned appx package iirc but youre much better off using dism mounting the image and removing them before you deploy it Is there a list of apps that need removing? What have people removed - etc
sted Posted June 28, 2016 Posted June 28, 2016 you can generate it from powershell on a test pc from an elevated powershell prompt dism /onle /getprovisionedappxpackages https://technet.microsoft.com/en-GB/library/hh824882.aspx imo though you are better off doing that on the base wim before you do a deploy and customise then recapture
gshaw Posted June 28, 2016 Posted June 28, 2016 Looks like MS have finally recognised that the junk needs to be removed for Education, slow progress... https://technet.microsoft.com/en-us/edu/windows/set-up-school-pcs-technical Uninstalled apps 3D Builder (Microsoft.3DBuilder_8wekyb3d8bbwe) Weather (Microsoft.BingWeather_8wekyb3d8bbwe) Get Started (Microsoft.Getstarted_8wekyb3d8bbwe) Get Office (Microsoft.MicrosoftOfficeHub_8wekyb3d8bbwe) Microsoft Solitaire Collection (Microsoft.MicrosoftSolitaireCollection_8wekyb3d8bbwe) Paid Wi-Fi & Cellular (Microsoft.OneConnect_8wekyb3d8bbwe) Feedback Hub (Microsoft.WindowsFeedbackHub_8wekyb3d8bbwe) Xbox (Microsoft.XboxApp_8wekyb3d8bbwe) Groove Music (Microsoft.ZuneMusic_8wekyb3d8bbwe) Movies & TV (Microsoft.ZuneVideo_8wekyb3d8bbwe) Mail/Calendar (microsoft.windowscommunicationsapps_8wekyb3d8bbwe)
jmak Posted June 28, 2016 Posted June 28, 2016 (edited) As long as you don't want the machines joined to a domain.... From the page you linked: Note: If your school uses Active Directory, use Windows Imaging and Configuration Designer to configure your PCs to join the domain. You can only use theSet up School PCsapp to set up PCs that are not connected to your traditional domain. And are happy with their new list of compulsory Apps on the start screen.... (This from the link at the bottom of the page previously linked to). What does this app do? The Set up School PCs app helps you set up new computers running Windows 10, version 1607. Some benefits of using this app to set up your students' PCs: A computer set up this way is tailored to provide students with the tools they need for learning while removing apps and features that they don't need. Places tiles for OneNote, Office 365 web apps, Sway, and Microsoft Classroom on the Start Menu Installs OneDrive for cloud-based documents and places it on the Start menu and Taskbar Sets Microsoft Edge as the default browser Uninstalls apps not specific to education, such as Solitaire and Sports Turns off Offers and tips Prevents students from adding personal Microsoft accounts to the computer MS need to help us do our job, not assume they can do it better. The system described above must have taken quite a lot of effort to sort out, but the use cases are very limited. Edited June 28, 2016 by jmak
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