Powershell

從 Windows 10 映像中刪除 Windows 10 內置應用程序

  • August 2, 2017

關於如何從 Windows 10 圖像文件中刪除內置的 Windows 10 應用程序(如 3D Builder、Zune、Xbox 等),我到處搜尋。

所有的教程總是指向同一件事——Remove-AppxProvisionedPackage這就是我想要做的。

每當我嘗試刪除包時,我總是會收到The System cannot find the file specified錯誤消息。

這是我從安裝圖像直到我嘗試刪除包得到的輸出。

嘗試刪除單個包裹或整個 shebang 會給我同樣的結果。

PS C:\wds> Mount-WindowsImage -ImagePath .\2016-Test-Export.wim -Path .\mnt -Index 1

Path          : .\mnt
Online        : False
RestartNeeded : False

PS C:\wds> Get-AppxProvisionedPackage -Path .\mnt

DisplayName  : Microsoft.3DBuilder
Version      : 11.1.9.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.3DBuilder_11.1.9.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.BingWeather
Version      : 4.16.15.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.BingWeather_4.16.15.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.DesktopAppInstaller
Version      : 1.8.5001.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.DesktopAppInstaller_1.8.5001.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.Getstarted
Version      : 4.1.15.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.Getstarted_4.1.15.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.Messaging
Version      : 2.7.1001.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.Messaging_2.7.1001.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.MicrosoftOfficeHub
Version      : 2015.7420.23751.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.MicrosoftOfficeHub_2015.7420.23751.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.MicrosoftSolitaireCollection
Version      : 3.12.10310.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.MicrosoftSolitaireCollection_3.12.10310.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.MicrosoftStickyNotes
Version      : 1.1.41.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.MicrosoftStickyNotes_1.1.41.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.Office.OneNote
Version      : 2015.7466.57771.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.Office.OneNote_2015.7466.57771.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.OneConnect
Version      : 1.1607.6.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.OneConnect_1.1607.6.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.People
Version      : 2016.1011.2336.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.People_2016.1011.2336.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.SkypeApp
Version      : 11.9.251.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.SkypeApp_11.9.251.0_neutral_~_kzf8qxf38zg5c

DisplayName  : Microsoft.StorePurchaseApp
Version      : 11608.1000.24314.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.StorePurchaseApp_11608.1000.24314.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.Windows.Photos
Version      : 2016.722.10060.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.Windows.Photos_2016.722.10060.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.WindowsAlarms
Version      : 2016.1010.1800.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.WindowsAlarms_2016.1010.1800.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.WindowsCalculator
Version      : 2016.809.14.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.WindowsCalculator_2016.809.14.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.WindowsCamera
Version      : 2016.816.20.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.WindowsCamera_2016.816.20.0_neutral_~_8wekyb3d8bbwe

DisplayName  : microsoft.windowscommunicationsapps
Version      : 2015.7369.40827.0
Architecture : neutral
ResourceId   : ~
PackageName  : microsoft.windowscommunicationsapps_2015.7369.40827.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.WindowsFeedbackHub
Version      : 1.1608.2441.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.WindowsFeedbackHub_1.1608.2441.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.WindowsMaps
Version      : 2016.921.2109.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.WindowsMaps_2016.921.2109.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.WindowsSoundRecorder
Version      : 2016.808.1111.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.WindowsSoundRecorder_2016.808.1111.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.WindowsStore
Version      : 11610.1001.104.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.WindowsStore_11610.1001.104.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.XboxApp
Version      : 2016.1006.321.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.XboxApp_2016.1006.321.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.XboxIdentityProvider
Version      : 2016.719.1035.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.XboxIdentityProvider_2016.719.1035.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.ZuneMusic
Version      : 2019.16092.10311.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.ZuneMusic_2019.16092.10311.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.ZuneVideo
Version      : 2019.16092.10311.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.ZuneVideo_2019.16092.10311.0_neutral_~_8wekyb3d8bbwe

PS C:\wds> Get-AppxProvisionedPackage -Path .\mnt | Remove-AppxProvisionedPackage -Path .\mnt
Remove-AppxProvisionedPackage : The system cannot find the file specified.
At line:1 char:42
+ ... sionedPackage -Path .\mnt | Remove-AppxProvisionedPackage -Path .\mnt
+                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [Remove-AppxProvisionedPackage], COMException
+ FullyQualifiedErrorId : Microsoft.Dism.Commands.RemoveAppxProvisionedPackageCommand

我一定錯過了一些東西,但就是無法弄清楚我錯過了什麼。我也試過用 DISM 做同樣的事情並遇到同樣的錯誤,system cannot find the specified file.

Get-AppxProvisionedPackage 找到包,所以它們存在……關於如何刪除這些的任何想法?

編輯:使用 Slipeer 建議的語法:

PS C:\wds> Get-AppxProvisionedPackage -Path .\mnt | foreach{ Remove-AppxProvisionedPackage -path .\mnt -PackageName $_.PackageName }
Remove-AppxProvisionedPackage : The system cannot find the file specified.
At line:1 char:51
+ ...  | foreach{ Remove-AppxProvisionedPackage -path .\mnt -PackageName $_ ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [Remove-AppxProvisionedPackage], COMException
+ FullyQualifiedErrorId : Microsoft.Dism.Commands.RemoveAppxProvisionedPackageCommand

<Repeated for all the packages>

編輯:我也試過這個腳本 - https://gallery.technet.microsoft.com/Removing-Built-in-apps-65dc387b - 結果也一樣。

我遇到了完全相同的問題。執行該命令的本機 dism 版本在 dism 日誌中得到了有關“無法為包獲取暫存包”的錯誤消息。Google搜尋將我帶到了 edugeek 上的這個頁面

所以那裡的使用者注意到,如果他回到原來的 1607 ISO,這些命令可以正常工作。同樣,我用我擁有的 1703 ISO 嘗試了相同的命令,一切正常。因此,微軟正在分發的一些 WIM 文件似乎出現了問題。(對我來說有問題的是 2017 年 1 月更新的 1607,直接來自我的 MSDN 訂閱。)

現在我打算只使用原始發布媒體來解除安裝這些預置的應用程序。此外,關於返回的預置應用程序,情況可能會有所改善。微軟宣布,從 1703 年開始,取消配置的應用程序將在未來的功能更新安裝後保持取消配置…

微軟已經(可能是無意的)使得很難獲得某些 Windows 10 版本的原始發布媒體,即使訂閱了 MSDN,這也無濟於事。此處概述了獲取某些原始發布媒體的一種方法

引用自:https://serverfault.com/questions/814362