전체 스크립트

전체 스크립트

저는 Windows 10용 팽창 제거 스크립트를 작성하여 앱의 전체 목록을 배열에 배치한 다음 각 앱이 제거될 때까지 루프를 실행합니다. 슬프게도 나는 얻을 수 없습니다잡아보세요작업할 때 다음 텍스트 블록이 내 사이에 표시됩니다.쓰기 호스트숨기고 싶은 명령.

Path          : 
Online        : True
RestartNeeded : False

전체 스크립트

<#
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"
#}

답변1

Get-AppxPackage및 줄 끝에 Get-AppXProvisionedPackage다음을 입력하세요.| Out-Null

그래서 이거

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

된다

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

추가 정보Out-Null

관련 정보