You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell卸载Windows预装应用时白名单排除规则失效问题求助

问题诊断
  • 逻辑错误:原代码循环遍历每一个白名单应用,每次都执行「排除当前单个白名单应用、卸载所有其他应用」的操作。第一次循环就会把除了第一个白名单应用之外的所有应用(包括其余白名单应用)全部卸载,白名单规则完全失效。
  • 匹配操作符使用错误:-NotLike 是通配符匹配操作符,需要配合*之类的通配符使用,你需要的是完全匹配应用名判断是否在白名单内,应该用-notin集合包含判断操作符。
  • 语法冗余错误:代码末尾多了一个无对应起始的闭合大括号}。
修正方案

调整执行逻辑,先获取所有Appx应用包,一次性过滤掉所有在白名单内的应用后再执行卸载操作,修正后的完整代码如下:

$WhitelistedApps = @(
        "1527c705-839a-4832-9118-54d4Bd6a0c89"
        "E2A4F912-2574-4A75-9BB0-0D023378592B"
        "F46D4000-FD22-4DB4-AC8E-4E1DDDE828FE"
        "Microsoft.AAD.BrokerPlugin"
        "Microsoft.AccountsControl"
        "Microsoft.AsyncTextService"
        "Microsoft.BioEnrollment"
        "Microsoft.CredDialogHost"
        "Microsoft.ECApp"
        "Microsoft.LockApp"
        "Microsoft.MicrosoftEdge"
        "Microsoft.MicrosoftEdgeDevToolsClient"
        "Microsoft.PPIProjection"
        "Microsoft.Win32WebViewHost"
        "Microsoft.Windows.Apprep.ChxApp"
        "Microsoft.Windows.AssignedAccessLockApp"
        "Microsoft.Windows.CallingShellApp"
        "Microsoft.Windows.CapturePicker"
        "Microsoft.Windows.CloudExperienceHost"
        "Microsoft.Windows.ContentDeliveryManager"
        "Microsoft.Windows.Cortana"
        "Microsoft.Windows.NarratorQuickStart"
        "Microsoft.Windows.OOBENetworkCaptivePortal"
        "Microsoft.Windows.OOBENetworkConnectionFlow"
        "Microsoft.Windows.ParentalControls"
        "Microsoft.Windows.PeopleExperienceHost"
        "Microsoft.Windows.PinningConfirmationDialog"
        "Microsoft.Windows.Search"
        "Microsoft.Windows.SecHealthUI"
        "Microsoft.Windows.SecondaryTileExperience"
        "Microsoft.Windows.SecureAssessmentBrowser"
        "Microsoft.Windows.ShellExperienceHost"
        "Microsoft.Windows.StartMenuExperienceHost"
        "Microsoft.Windows.XGpuEjectDialog"
        "Microsoft.XboxGameCallableUI"
        "MicrosoftWindows.Client.CBS"
        "MicrosoftWindows.UndockedDevKit"
        "NcsiUwpApp"
        "Windows.CBSPreview"
        "Windows.ContactSupport"
        "Windows.MiracastView"
        "Windows.PrintDialog"
        "c5e2524a-ea46-4f67-841f-6a9465d9d515"
        "windows.immersivecontrolpanel"
)

# 过滤所有非白名单应用后执行卸载
Get-AppxPackage | Where-Object {$_.Name -notin $WhitelistedApps} | Remove-AppxPackage

如果需要同时卸载设备上所有用户的预装冗余软件,可以将Get-AppxPackage替换为Get-AppxPackage -AllUsers,执行脚本需要管理员权限。

内容的提问来源于stack exchange,提问作者Se7en

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 20:54:06