找不到监视预装Win10应用程序卸载的方法

时间:2018-09-18 21:03:37

标签: windows powershell

当前正在致力于自动构建某些图像。我想将所有文档都记录下来,并有一种方法可以确保在需要创建,更新图像等时不会跳过任何内容。这将使我省去很多麻烦。以下仅是此问题的相关代码

卸载“ Preinstalled Win10 Apps”的一部分没有给我我想要的东西。

我无法准确查看何时真正卸载了“ App”。

当它为某个应用执行Remove-AppxPackage时,它将在PS窗口的顶部添加一个进度条,显示其进度和完成时间。即使它没有显示完成,它也会在一段时间后消失。它会继续在后台执行,但我无法确定何时完成。有些卸载时间比其他卸载时间更长。

我的目标是找到一种监控清除的方法。我找不到Remove-AppxPackage中内置的任何内容来执行此操作。我找不到要检查的东西。

我尝试使用Start-JobWait-JobRemove-Job将它们包装在作业中,但这并没有改变。卸载尚未完成时,它被标记为完成。

任何帮助或为我指出可能的解决方案,将不胜感激。目前,我要么假设它是在很长一段时间后完成的,要么我重新运行代码以查看它是否尝试处理卸载。

在全新安装Win10 Build 1709上进行测试

我要删除的应用列表

[System.Collections.ArrayList]$Win10_Apps_To_Uninstall = @(
    "Microsoft.BingWeather"
    "Microsoft.GetHelp"
    "Microsoft.Getstarted"
    "Microsoft.Microsoft3DViewer"
    "Microsoft.MicrosoftOfficeHub"
    "Microsoft.MicrosoftSolitaireCollection"
    "Microsoft.Office.OneNote"
    "Microsoft.OneConnect"
    "Microsoft.People"
    "Microsoft.Print3D"
    "Microsoft.SkypeApp"
    "Microsoft.Wallet"
    "microsoft.windowscommunicationsapps"
    "Microsoft.WindowsFeedbackHub"
    "Microsoft.XboxApp"
    "Microsoft.XboxGameOverlay"
    "Microsoft.XboxIdentityProvider"
    "Microsoft.XboxSpeechToTextOverlay"
    "Microsoft.ZuneMusic"
    "Microsoft.ZuneVideo"
)

要遍历删除和取消配置的代码

foreach ($Win10_App in $Win10_Apps_To_Uninstall) {
    try {
        Get-AppxPackage -Name $Win10_App -AllUsers | Remove-AppxPackage -Verbose
    }
    catch {
    }    
    try {
        Get-AppXProvisionedPackage -Online |
            Where-Object DisplayName -EQ $Win10_App |
            Remove-AppxProvisionedPackage -Online -Verbose | Out-Null
    }
    catch {
    }
}

0 个答案:

没有答案