Guión completo

Guión completo

Creé un script de desinflación para Windows 10 mediante el cual coloqué una lista completa de aplicaciones en una matriz que luego se ejecuta en un bucle hasta que se elimina cada aplicación. Lamentablemente no puedo conseguir mitrata de atraparlopara funcionar y los siguientes bloques de texto se muestran entre miAnfitrión de escrituraComandos que me gustaría ocultar.

Path          : 
Online        : True
RestartNeeded : False

Guión completo

<#
This script de-bloats unwanted apps from Windows 10.
To keep certain apps and prevent them from being moved 
insert a '#' at the beginning of the line 
and it will be skipped.
#>

Clear-Host
Write-Host "Running Remove bloatware apps from Windows 10..."
Start-Sleep -s 2

IF ( ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) ) {
    Write-Host "Administration privileges have been granted.`n"
    Start-Sleep -s 2
    Clear-Host
} ELSE {
    Write-Host "Requesting administration privileges..."
    Start-Sleep -s 2
    Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs; exit
}

# Apps
Write-Host "Removing bloatware apps...`n"
Start-Sleep -s 2

$AppNames = @(
    "Microsoft.BingWeather"
    #"Microsoft.DesktopAppInstaller"
    "Microsoft.GetHelp"
    "Microsoft.Getstarted"
    #"Microsoft.HEIFImageExtension"
    "Microsoft.Messaging"
    "Microsoft.Microsoft3DViewer"
    "Microsoft.MicrosoftOfficeHub"
    "Microsoft.MicrosoftSolitaireCollection"
    #"Microsoft.MicrosoftStickyNotes"
    "Microsoft.MixedReality.Portal"
    #"Microsoft.MSPaint"
    "Microsoft.Office.OneNote"
    "Microsoft.OneConnect"
    "Microsoft.People"
    "Microsoft.Print3D"
    "Microsoft.ScreenSketch"
    #"Microsoft.SkypeApp"
    #"Microsoft.StorePurchaseApp"
    #"Microsoft.VP9VideoExtensions"
    "Microsoft.Wallet"
    #"Microsoft.WebMediaExtensions"
    #"Microsoft.WebpImageExtension"
    #"Microsoft.Windows.Photos"
    #"Microsoft.WindowsAlarms"
    #"Microsoft.WindowsCalculator"
    #"Microsoft.WindowsCamera"
    "microsoft.windowscommunicationsapps"
    "Microsoft.WindowsFeedbackHub"
    #"Microsoft.WindowsMaps"
    #"Microsoft.WindowsSoundRecorder"
    #"Microsoft.WindowsStore"
    "Microsoft.Xbox.TCUI"
    "Microsoft.XboxApp"
    "Microsoft.XboxGameOverlay"
    "Microsoft.XboxGamingOverlay"
    "Microsoft.XboxIdentityProvider"
    "Microsoft.XboxSpeechToTextOverlay"
    "Microsoft.YourPhone"
    "Microsoft.ZuneMusic"
    "Microsoft.ZuneVideo"
)

foreach ($app in $AppNames) {
    Write-Host "Attempting to remove $app... " #-NoNewline

    Try{
        Get-AppxPackage -Name $app -AllUsers | Remove-AppxPackage
        # | Select-Object Name -ExpandProperty Name
        Get-AppXProvisionedPackage -Online | Where-Object DisplayName -EQ $app | Remove-AppxProvisionedPackage -Online -AllUsers
        # | Select-Object DisplayName -ExpandProperty DisplayName
        Write-Host "Done" -ForegroundColor Green -ErrorAction Stop
    }
    Catch{
        Write-Host "Failed" -ForegroundColor Red
    }
}

Write-Host "Apps removed"
Write-Host "A total of $($error.count) errors were found`n"
Start-Sleep -s 2

# Restore all apps
#Get-AppxPackage -AllUsers | Foreach {
#    Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"
#}

Respuesta1

Al final de tus líneas Get-AppxPackagey Get-AppXProvisionedPackage, pon un| Out-Null

Así que esto

Get-AppxPackage -Name $app -AllUsers | Remove-AppxPackage

se convierte

Get-AppxPackage -Name $app -AllUsers | Remove-AppxPackage | Out-Null

Más información sobreFuera nulo

información relacionada