Я использовал скрипт из Windows 10: удалите все приложения по умолчанию, кроме указанных.

Get-AppxPackage -AllUsers | where-object {$_.name –notlike "*store*","*windowscalculator*","*people*"} | Remove-AppxPackage

Ошибка развертывания не удалась с HRESULT: 0x80073CFA.

Remove-AppxPackage : Deployment failed with HRESULT: 0x80073CFA, Removal failed. Please contact your software vendor. (Exception from HRESULT: 0x80073CFA)
error 0x80070032: AppX Deployment Remove operation on package 1527c705-839a-4832-9118-54d4Bd6a0c89_10.0.17134.1_neutral_neutral_cw5n1h2txyewy from:
C:\Windows\SystemApps\Microsoft.Windows.FilePicker_cw5n1h2txyewy failed. This app is part of Windows and cannot be uninstalled on a per-user basis. An administrator can attempt to remove the
app from the computer using Turn Windows Features on or off. However, it may not be possible to uninstall the app.
NOTE: For additional information, look for [ActivityId] 8c1923d8-2299-0001-fb83-198c9922d401 in the Event Log or use the command line Get-AppxLog -ActivityID
8c1923d8-2299-0001-fb83-198c9922d401
At line:1 char:106
+ ... like "*store*","*windowscalculator*","*people*"} | Remove-AppxPackage
+                                                        ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (1527c705-839a-4...l_cw5n1h2txyewy:String) [Remove-AppxPackage], IOException
    + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.RemoveAppxPackageCommand

Remove-AppxPackage : Deployment failed with HRESULT: 0x80073CFA, Removal failed. Please contact your software vendor. (Exception from HRESULT: 0x80073CFA)
error 0x80070032: AppX Deployment Remove operation on package c5e2524a-ea46-4f67-841f-6a9465d9d515_10.0.17134.1_neutral_neutral_cw5n1h2txyewy from:
C:\Windows\SystemApps\Microsoft.Windows.FileExplorer_cw5n1h2txyewy failed. This app is part of Windows and cannot be uninstalled on a per-user basis. An administrator can attempt to remove
the app from the computer using Turn Windows Features on or off. However, it may not be possible to uninstall the app.
NOTE: For additional information, look for [ActivityId] 8c1923d8-2299-0000-8397-198c9922d401 in the Event Log or use the command line Get-AppxLog -ActivityID
8c1923d8-2299-0000-8397-198c9922d401
At line:1 char:106
+ ... like "*store*","*windowscalculator*","*people*"} | Remove-AppxPackage
+                                                        ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (c5e2524a-ea46-4...l_cw5n1h2txyewy:String) [Remove-AppxPackage], IOException
    + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.RemoveAppxPackageCommand

Remove-AppxPackage : Deployment failed with HRESULT: 0x80073CFA, Removal failed. Please contact your software vendor. (Exception from HRESULT: 0x80073CFA)
error 0x80070032: AppX Deployment Remove operation on package E2A4F912-2574-4A75-9BB0-0D023378592B_10.0.17134.1_neutral_neutral_cw5n1h2txyewy from:
C:\Windows\SystemApps\Microsoft.Windows.AppResolverUX_cw5n1h2txyewy failed. This app is part of Windows and cannot be uninstalled on a per-user basis. An administrator can attempt to remove
the app from the computer using Turn Windows Features on or off. However, it may not be possible to uninstall the app.
NOTE: For additional information, look for [ActivityId] 8c1923d8-2299-0000-8c97-198c9922d401 in the Event Log or use the command line Get-AppxLog -ActivityID
8c1923d8-2299-0000-8c97-198c9922d401
At line:1 char:106
+ ... like "*store*","*windowscalculator*","*people*"} | Remove-AppxPackage
+                                                        ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (E2A4F912-2574-4...l_cw5n1h2txyewy:String) [Remove-AppxPackage], IOException
    + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.RemoveAppxPackageCommand

Нашел решение здесь

Моя проблема в том, что если MS не хочет, чтобы я удалял, я не хочу удалять. Но если никто не возражает, то я хочу удалить. Becasue, кто знает, сколько вещей сломается.

Итак, я не хочу менять базу данных или использовать какие-либо хаки. Мне нужен скрипт (надеюсь, один вкладыш), который будет безопасно удалять как можно больше вредоносных программ (игры, 3D-объекты, эскизы, XBox и т.д.).

Если удаление дает ошибку, не беспокойтесь! пропустите и перейдите к следующему приложению и попробуйте удалить его.

1 ответ1

1

Помните, что всегда есть более элегантные способы сделать что-то, но это всего лишь вариант.

Вы можете просто собрать все приложения и сравнить их с белым списком приложений в цикле.

Что-то вроде:

"Uninstalling BlackListed apps"
$apps = @(
    # Whitelist Windows 10 apps
    "Microsoft.BingWeather"
    "Microsoft.MicrosoftOfficeHub"
    "Microsoft.Office.OneNote"
    "Microsoft.SkypeApp"
    "Microsoft.WindowsAlarms"
    "Microsoft.WindowsCalculator"
    "Microsoft.WindowsCamera"
    "microsoft.windowscommunicationsapps"
    "Microsoft.WindowsMaps"
    "Microsoft.GetHelp"
    "Microsoft.Messaging"
)

$RemoveAppPkgs = (Get-AppxPackage -AllUsers).Name
'TotalApps: ' + $RemoveAppPkgs.Count
'TotalWhiteListedApps: ' + $apps.Count
'TotalBlackListeedApps: ' + ($RemoveAppPkgs.Count - $apps.Count)

ForEach($TargetApp in $RemoveAppPkgs)
{
    If($apps -notcontains $TargetApp)
    {
        Write-Output "Trying to remove $TargetApp"
    }
}

Выход:

Uninstalling BlackListed apps
TotalApps: 141
TotalWhiteListedApps: 11
TotalBlackListeedApps: 130
Trying to remove Windows.PrintDialog
Trying to remove Microsoft.NET.Native.Framework.1.0
Trying to remove Microsoft.NET.Native.Framework.1.0
Trying to remove Microsoft.NET.Native.Framework.1.1
Trying to remove Microsoft.NET.Native.Framework.1.1
Trying to remove Microsoft.NET.Native.Framework.1.6
Trying to remove Microsoft.NET.Native.Framework.1.6
Trying to remove Microsoft.NET.Native.Runtime.1.0
Trying to remove Microsoft.NET.Native.Runtime.1.0
Trying to remove Microsoft.NET.Native.Runtime.1.1
Trying to remove Microsoft.NET.Native.Runtime.1.1
Trying to remove Microsoft.NET.Native.Runtime.1.6
Trying to remove Microsoft.NET.Native.Runtime.1.6
Trying to remove Microsoft.VCLibs.120.00
Trying to remove Microsoft.VCLibs.120.00
...


Как указано в указателе, на который вы ссылаетесь, есть пакеты, которые вы просто не можете удалить:

# apps which cannot be removed using Remove-AppxPackage
#"Microsoft.BioEnrollment"
#"Microsoft.MicrosoftEdge"
#"Microsoft.Windows.Cortana"
#"Microsoft.WindowsFeedback"
#"Microsoft.XboxGameCallableUI"
#"Microsoft.XboxIdentityProvider"
#"Windows.ContactSupport"

Если есть другие с этой проблемой, вам просто нужно перехватить и пропустить их (используя if/then или блок try/catch).

* Обновление в соответствии с запросом OP * Просто добавьте обратно код из вашей ссылки, чтобы удалить его.

ForEach($TargetApp in $RemoveAppPkgs)
{
    If($apps -notcontains $TargetApp)
    {
        "Trying to remove $TargetApp"

        Get-AppxPackage -Name $TargetApp -AllUsers | Remove-AppxPackage -AllUsers -ErrorAction SilentlyContinue

        Get-AppXProvisionedPackage -Online |
            Where-Object DisplayName -EQ $TargetApp |
            Remove-AppxProvisionedPackage -Online
    }
}

Или добавьте приложения, которые вы не можете удалить, в белый список, и у вас не должно быть ошибок, с которыми нужно иметь дело.

Однако всякий раз, когда вы делаете что-то разрушительное, вы должны иметь обработку ошибок. Я бы также посоветовал вам использовать ключ -whatif в качестве меры предосторожности при удалении, прежде чем делать это по-настоящему. Просто чтобы быть уверенным, что вы действительно получаете то, что ожидаете.

Что касается примера try / catch. Если вы находитесь в PowerShell_ISE, просто нажмите CRTL+J, чтобы открыть список фрагментов и выбрать шаблон try / catch для использования.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .