在部署 Windows 10 计算机后,我们会为用户卸载大多数 Appx 软件包。我们使用类似以下两行代码即可删除系统上的大多数 UWP 应用:
# remove the "provisioning" of packages for new users
Get-AppxProvisionedPackage -Online | % { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName }
# delete packages for existing users
Get-AppxPackage -AllUsers -PackageTypeFilter Bundle | % { Remove-AppxPackage -Package $_.PackageFullName -AllUsers }
现在,由于我们需要让用户选择是否将其带回来,麻烦就开始了。
我没能找到一种可行的方法来重新注册那些似乎已被移至的“已删除”的 Appx-Packages C:\Program Files\WindowsApps\DeletedAllUserPackages
。
网络上的大多数解决方案都是使用(Get-AppxPackage).InstallLocation
1,并将其与 Add-AppxPackage 一起用于-Register
应用程序。这对我们来说不起作用 - 至少从 1709 开始,Get-AppxPackage -PackageTypeFilter Bundle -AllUsers
它返回一个空列表,并且没有它的调用-PackageTypeFilter Bundle
不包含任何未安装的应用程序。
我尝试简单地将其用作C:\Program Files\WindowsApps\DeletedAllUserPackages\<PackageFullName>\AppxManifest.xml
值,但Add-AppxPackage -Register
由于未解决的依赖关系而失败。
但即使Add-AppxPackage
成功,也只能为当前用户注册应用程序,因为它似乎缺少参数-AllUsers
。其他用户和潜在的新用户将无法安装该应用程序。
Add-AppxProvisionedPackage -Online
文档中记载的其他方法都使用DISM
模块。但这显然需要一个.appxpackage
文件,而该系统似乎没有该文件。
对于像 Microsoft Store 这样的应用程序,我显然可以使用原始 WIM 映像来重新安装该应用程序,如果我只知道依赖关系,而我没有。那么我该如何以管理员身份重新安装在初始系统设置过程中卸载的所有应用程序呢?
答案1
如果我没有误解几天前在 Microsoft 论坛上看到的 MVP 的答案,您必须使用 Store App 重新安装内置应用程序。您甚至可以在没有 Microsoft 帐户的情况下执行此操作。
但我想知道为什么你首先盲目地删除所有配置的软件包和所有捆绑的应用程序?
我的意思是,使用这两行代码......
# remove the "provisioning" of packages for new users
Get-AppxProvisionedPackage -Online | % { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName }
# delete packages for existing users
Get-AppxPackage -AllUsers -PackageTypeFilter Bundle | % { Remove-AppxPackage -Package $_.PackageFullName -AllUsers }
... 你删除了(除了其他不重要的东西):
- 计算机
- 照片(或图像)查看器
- 音频播放器
- 视频播放器
- 微软油漆
- Windows 应用商店
- 便利贴
- 桌面应用程序安装程序
当然,有些应用是有争议的,比如 MSpaint 或便签。但为什么要删除照片查看器?为什么要删除计算器?除非你有替代方案,否则我不会删除它们并让你的用户陷入困境。但因为你希望他们重新安装这些应用,所以我假设你不会这么做。
最好使用 GPO 禁用其他应用程序,例如 Store App。如果您想在企业中侧载某些应用程序,桌面应用程序安装程序非常重要。
我不知道背后的动机,但我认为你给自己和用户带来了不必要的麻烦。为什么不保留安装的应用程序,也许为用户提供卸载它们的选项,而不是反过来做。从技术上讲,这要容易得多。