我正在尝试在工作中部署一些 Windows 10 机器,并且需要删除或禁用预装的应用程序。
出于某种原因,管理层认为 Xbox 应用程序和 Candy Crush Soda Saga(等)不应安装在公司工作站上。
我们尝试过在事后卸载它们,但它们会再次出现在任何新用户登录时,这是不可接受的。我们该怎么做真的从我们的企业 Windows 10 映像中删除这些应用程序?
答案1
我发现实际控制 Windows 10 图像的最简单的方法是使用部署映像服务和管理 (DISM.exe)工具。
简而言之,您需要:
找到您正在部署的映像的 Windows wim。
- 例如,在 Windows 10 安装 ISO 上,该文件为:
\sources\install.wim
- 例如,在 Windows 10 安装 ISO 上,该文件为:
创建一个目录来临时挂载 wim。
安装 wim。
进行更改。
- 为了删除预装的 Windows 10 应用程序,我们实际上需要处理三种不同类型的应用程序 - 一个经典的可执行文件,一堆Metro/UWP/Appx 应用程序,以及 Windows 10 强制放到“开始”菜单上的一堆安装程序快捷方式。
- 似乎值得指出的是,你可以使用 DISM 从已安装的 WIM 中获取 appx 包列表,如果您不确定要进行哪些更改。
提交更改并卸载 WIM。
更详细地:
找到 Windows wim。
- 我将从微软的批量许可门户下载最新的 64 位企业版 Windows 10 (SW_DVD5_WIN_ENT_10_1511.1_64BIT_English_MLF_X20-93758.ISO),并将 ISO 安装到
D:
。 (当然,请确保使用读写访问权限安装它!) - 这会将我想要编辑的 wim 文件放在:
D:\sources\install.wim
。我会将其分配给 PowerShell 变量。$wimfile = "D:\sources\install.wim"
- 我将从微软的批量许可门户下载最新的 64 位企业版 Windows 10 (SW_DVD5_WIN_ENT_10_1511.1_64BIT_English_MLF_X20-93758.ISO),并将 ISO 安装到
创建一个目录来临时挂载 wim。
- 我将使用
C:\Temp\W10entDISM
,并将其分配给 PowerShell 变量。$mountdir = "C:\Temp\W10entDISM"
- 我将使用
-
dism.exe /Mount-Image /ImageFile:$wimfile /Index:1 /MountDir:$mountdir
进行更改。
- 为了删除预装的 Windows 10 应用程序,我们实际上需要处理三种不同类型的应用程序 - 一个经典的可执行文件、一堆 Metro/UWP/Appx 应用程序,以及一堆 Windows 10 强制放到开始菜单上的安装程序快捷方式。
- 经典可执行文件 OneDrive 安装程序
- Windows 10 有一个可执行文件
OneDriveSetup.exe
和注册表项来自动运行它,我将使用文件系统安全 PowerShell 模块和命令行注册表编辑器reg.exe
。当然,如果愿意的话,这可以手动完成或使用其他命令行工具完成。 takeown /F $mountdir\Windows\SysWOW64\OneDriveSetup.exe /A
Add-NTFSAccess -Path "$($mountdir)\Windows\SysWOW64\onedrivesetup.exe" -Account "BUILTIN\Administrators" -AccessRights FullControl
Remove-Item $mountdir\Windows\SysWOW64\onedrivesetup.exe
reg load HKEY_LOCAL_MACHINE\WIM $mountdir\Users\Default\ntuser.dat
reg delete "HKEY_LOCAL_MACHINE\WIM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v OneDriveSetup /f
- Windows 10 有一个可执行文件
- Windows 10 在开始菜单上创建的安装程序快捷方式。
- 这些由名为“CloudContent”的注册表项控制,在编辑安装光盘时,我们需要创建该注册表项并添加一个值以将其禁用。如果处理现有安装,则该项已创建。
reg add HKEY_LOCAL_MACHINE\WIM\SOFTWARE\Policies\Microsoft\Windows\CloudContent
reg add HKEY_LOCAL_MACHINE\WIM\SOFTWARE\Policies\Microsoft\Windows\CloudContent /v DisableWindowsConsumerFeatures /t REG_DWORD /d 1 /f
reg unload HKEY_LOCAL_MACHINE\WIM
- Metro/UWP/Appx 应用程序。
- 我们可以使用Get-AppxProvisionedPackage cmdlet查看并决定要删除哪些 Appx 应用程序。(
Get-AppxProvisionedPackage -Path $mountdir
)重要的是,并非所有预装的 Appx 应用程序都可以或应该被删除。截至撰写本文时,建议不要卸载 AppConnector、ConnectivityStore 和 WindowsStore(如果需要,可以通过其他方式禁用它们的使用,但实际上删除它们据报道会破坏事物并产生不良后果)。同样值得注意的是,在 Windows 10 中,Windows 计算器是一个 Appx 包。 - 我选择保留这三个应用程序、Windows 计算器和 Microsoft Solitaire Collection,并删除其他所有应用程序,因此我最终运行:
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingNews_4.6.169.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingSports_4.6.169.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingWeather_4.6.169.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingFinance_4.6.169.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.CommsPhone_1.10.15000.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Messaging_1.10.22012.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.MicrosoftOfficeHub_2015.6306.23501.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Office.OneNote_2015.6131.10051.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.SkypeApp_3.2.1.0_neutral_~_kzf8qxf38zg5c
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Windows.Photos_2015.1001.17200.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsCamera_2015.1071.40.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsPhone_2015.1009.10.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsAlarms_2015.1012.20.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:microsoft.windowscommunicationsapps_2015.6308.42271.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsMaps_4.1509.50911.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsSoundRecorder_2015.1012.110.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxApp_2015.930.526.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.ZuneMusic_2019.6.13251.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.ZuneVideo_2019.6.13251.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Office.Sway_2015.6216.20251.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.People_2015.1012.106.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Getstarted_2.3.7.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.3DBuilder_10.9.50.0_neutral_~_8wekyb3d8bbwe
- 我们可以使用Get-AppxProvisionedPackage cmdlet查看并决定要删除哪些 Appx 应用程序。(
- 经典可执行文件 OneDrive 安装程序
- 为了删除预装的 Windows 10 应用程序,我们实际上需要处理三种不同类型的应用程序 - 一个经典的可执行文件、一堆 Metro/UWP/Appx 应用程序,以及一堆 Windows 10 强制放到开始菜单上的安装程序快捷方式。
提交更改并卸载 WIM。
dism.exe /Unmount-Image /MountDir:$mountdir /commit
只是代码:
$wimfile = "D:\sources\install.wim"
$mountdir = "C:\Temp\W10entDISM"
dism.exe /Mount-Image /ImageFile:$wimfile /Index:1 /MountDir:$mountdir
# Remove Appx Packages
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingNews_4.6.169.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingSports_4.6.169.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingWeather_4.6.169.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingFinance_4.6.169.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.CommsPhone_1.10.15000.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Messaging_1.10.22012.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.MicrosoftOfficeHub_2015.6306.23501.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Office.OneNote_2015.6131.10051.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.SkypeApp_3.2.1.0_neutral_~_kzf8qxf38zg5c
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Windows.Photos_2015.1001.17200.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsCamera_2015.1071.40.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsPhone_2015.1009.10.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsAlarms_2015.1012.20.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:microsoft.windowscommunicationsapps_2015.6308.42271.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsMaps_4.1509.50911.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsSoundRecorder_2015.1012.110.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxApp_2015.930.526.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.ZuneMusic_2019.6.13251.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.ZuneVideo_2019.6.13251.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Office.Sway_2015.6216.20251.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.People_2015.1012.106.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Getstarted_2.3.7.0_neutral_~_8wekyb3d8bbwe
dism.exe /Image:$mountdir /Remove-ProvisionedAppxPackage /PackageName:Microsoft.3DBuilder_10.9.50.0_neutral_~_8wekyb3d8bbwe
# Remove OneDrive Setup
takeown /F $mountdir\Windows\SysWOW64\OneDriveSetup.exe /A
Add-NTFSAccess -Path "$($mountdir)\Windows\SysWOW64\onedrivesetup.exe" -Account "BUILTIN\Administrators" -AccessRights FullControl
Remove-Item $mountdir\Windows\SysWOW64\onedrivesetup.exe
reg load HKEY_LOCAL_MACHINE\WIM $mountdir\Users\Default\ntuser.dat
reg delete "HKEY_LOCAL_MACHINE\WIM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v OneDriveSetup /f
# Remove Cloud Content
reg add HKEY_LOCAL_MACHINE\WIM\SOFTWARE\Policies\Microsoft\Windows\CloudContent
reg add HKEY_LOCAL_MACHINE\WIM\SOFTWARE\Policies\Microsoft\Windows\CloudContent /v DisableWindowsConsumerFeatures /t REG_DWORD /d 1 /f
# Unload, Unmount, Commit
reg unload HKEY_LOCAL_MACHINE\WIM
dism.exe /Unmount-Image /MountDir:$mountdir /commit
您现在应该有一个 ISO 和/或 wim 文件,您可以使用它们来安装 Windows 10,而无需添加任何垃圾,或者将其输入到您的配置/部署管理系统中。 来自最终操作系统部署的“开始”菜单的屏幕截图:
答案2
OneDrive 和 Cortana 无法通过正常方式删除。您需要编辑注册表以启用“HKLM:\Software\Microsoft\Windows\Windows Components”下的隐藏包。
我有建立了我自己的工具用于自定义 Windows 10(在 Win 10 -1709 Enterprise 上测试)。它主要用 powershell 编写,因此可能比您在论坛中获得的更常见的批处理文件更易于阅读和维护。您可以查看代码以了解详细信息。
答案3
最简单的方法是部署 Windows 10 LTSB。Enterprise LTSB 是 Windows 10 Enterprise 的长期支持版本,每 2 到 3 年发布一次。基本上,这是没有完整应用程序的 Windows 10;没有 Microsoft Store,没有 Microsoft Edge,根本没有应用程序。
这显然需要完全不同的 ISO。它们在发布后 10 年内都获得安全更新支持,并且有意不接收任何功能更新。
如果您已经通过批量许可拥有 Windows 10 Enterprise E3(每台设备)计划,则您可以下载并安装 Windows 10 Enterprise LTSB。
如果您不能或不想更改操作系统,您应该能够通过 PowerShell 卸载所有应用程序:
以管理员身份运行:Get-AppXProvisionedPackage -Online | Remove-AppxProvisionedPackage -Online Get-AppxPackage -allusers | Remove-AppxPackage
以用户身份运行:Get-AppxPackage | Remove-AppxPackage
请记住,这些命令将卸载除 Cortana、Edge 和 Microsoft Store 之外的所有应用程序。这样做还会丢失计算器,仅供参考。